如何在Linux中的一个命令行上执行三个命令?我尝试了以下几点:
sudo -u oracle -i ; cd /lo2/ram/daska; ./script.sh
当我执行这个命令时,只有sudo命令正在执行。
请告诉我
发布于 2015-05-13 09:52:31
执行sudo之后,就有了一个新的shell,其余的“命令”不是它的一部分,而是父shell的一部分。你可以:
sudo -u oracle -i bash -c "cd /lo2/ram/daska && ./script.sh"或者直接,
sudo -u oracle -i /lo2/ram/daska/script.sh发布于 2015-05-13 09:45:47
使用&分离器
sudo -u oracle -i && cd /lo2/ram/daska && ./script.sh发布于 2015-05-13 09:49:35
您还可以使用分号分隔命令。
sudo -u oracle -i ; cd /lo2/ram/daska ; ./script.sh使用&&和分号的区别在于,如果只想在前面的命令成功的情况下执行每个命令,那么可以使用&&操作符。但是,如果您想执行命令,不管前面的命令执行与否,您都可以使用分号(;)来分隔这些命令。
https://stackoverflow.com/questions/30211132
复制相似问题