Bash命令按顺序运行

时间:2014-02-24 15:05:21

标签: bash unix command-line

问题:

因此必须执行的命令数量,用单行命令写入:

comamand1; command2; command3;

第一个命令是

 sw user_name; 

问题是在 sw user_name; 之后没有执行任何命令。 (虽然用户改变了)

关于我如何执行上述命令字符串的任何想法? enter image description here

P.S。

bash-3.2$ sw
Sorry, user ehwe is not allowed to execute '/bin/su -' as root on server_name

猜猜它解释了sw是什么:)

P.P.S sw 代表 / bin / su -

3 个答案:

答案 0 :(得分:5)

希望你的意思是“su”而不是“sw”。如果您想切换为某些用户并执行一组命令,则可以使用-c选项。你可以试试这样的su - chidori -c "date;ls;df"

答案 1 :(得分:0)

听起来我sw可能是su的某种别名。您可以查看alias sw。如果是这种情况,您可以使用chidori的答案,只需将su替换为sw

答案 2 :(得分:0)

您无法更改给定流程的用户;您只能以新用户身份启动新进程。因此,sw可能正在启动一个新的交互式shell。当该shell退出时,sw命令完成,序列中的下一个命令可以完成。例如:

$ sw user_name; echo "Second command executes"
$ echo hello
hello
$ exit
Second command executes