在linux中 “# fori in `ls` ; dosu-sh $i ;done ”命令是什么意思?

在linux中 “# fori in `ls` ; dosu-sh $i ;done ”命令是什么意思?,第1张

首先 在命令前面有个 '#'的意思是本句话是注释,并不实际执行...

再说你后面语句的意思,for ... in .... done是循环结构,ls是查看目录下的文件,su是以另一个身份($i),来运行一个shell,但问题是su 没有-sh选项,也就是说你这句话应该有问题才对.

整体分析是遍历将当前目录下的文件,每个文件执行su -sh XXX(这里XXX是当前目录下的所有文件),功能尚不明确,还请楼主明示.

脚本内容:

cat test.sh

代码如下:

#!/bin/bash

su - test <<EOF

pwd

exit

EOF

当然也可以用下面的命令来执行

代码如下:

su - test -c "pwd"

ps:

切换用户只执行一条命令的可以用: su - oracle -c command

切换用户执行一个shell文件可以用:su - oracle -s /bin/bash shell.sh


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7232073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存