我试图用sudo
运行2个perl命令-就像dzdo
一样,但不知何故,我无法实现这个结果。谁能帮我一下。
这是我所要求的样品。我有两个脚本,分别名为/home/user1/script1.pl
和/home/user1/script2.pl
在这里,我有一个条件,一旦第一个脚本成功执行,就运行第二个脚本。所以我尝试使用以下方法,但仍然失败。
cmd="dzdo -iHu admin /home/user1/script1.pl && dzdo -iHu admin /home/user1/script2.pl";
cmd="dzdo -iHu admin "/home/user1/script1.pl" ; "/home/user1/script2.pl"";
cmd="dzdo -iHu admin /home/user1/script1.pl" && "dzdo -iHu admin /home/user1/script2.pl";
cmd="dzdo -iHu admin "/home/user1/script1.pl ; /home/user1/script2.pl"";
cmd="$cmd1 && $cmd2";
cmd="${cmd1} && ${cmd2}";
的一个或多个字符串
我得到的错误是“未知选项:ihu”中的一个。我甚至尝试了许多组合,但最终以同样的错误。我想我漏掉了一些基本的声明。如果我提到的东西如下,它运行的是第二个脚本,但不是第一个。
cmd1="dzdo -iHu admin /home/user1/script1.pl";
cmd2="dzdo -iHu admin /home/user1/script2.pl";
型
如果我在perl脚本之外手动运行脚本,则两个脚本都按预期运行。
user1@123abc.dev.com > dzdo -iHu admin /home/user1/script1.pl ; dzdo -iHu admin /home/user1/script2.pl
型
2条答案
按热度按时间bksxznpy1#
首先,我不熟悉
dzdo
,也找不到它的文档。我得到的错误是“未知选项:伊胡
如果它与
sudo
的选项相同,则-ihu
没有多大意义。-iHu
,你说你正在使用,会更有意义。如果这不是问题所在,这部分我帮不上什么忙。请参阅其文档。(
man dzdo
?你可以尝试分别传递它们(-i -H -u
)。我尝试用
sudo
运行2个perl命令-类似于dzdo
如果它像
sudo
,它需要一个程序和参数传递给程序。因此,您可以使用以下方法实现您想要的内容(一旦解决了选项的问题):
字符串
1rhkuytd2#
我将这两个脚本分别命名为CMD1和CMD2,并在声明CMD1和CMD2之后执行这两个脚本。
字符串