2017-08-10 84 views
0

我知道他们做了什么。我只是想知道他们是什么样的命令。你如何使用shell脚本创建一个。 例如,命令,如:什么样的命令是“sudo”,“su”或“torify”

ignoreError ls /Home/ 
ignoreError mkdir /Home/ 
ignoreError cat 
ignoreError randomcommand 

希望你的想法

+0

他们运行另一个命令。 –

回答

3

做一个shell脚本的方法是使用"[email protected]"结构。

"[email protected]"展开为您传递给shell脚本的所有参数的引用列表。 $1将是您希望您的shell脚本运行的命令,并且$2$3等是命令的参数。

我唯一的例子是从cygwin。 Cygwin并没有sudo,但我有这个脚本模拟它:

#!/usr/bin/bash 
cygstart --action=runas "[email protected]" 

所以,当我运行像

$ sudo ls -l 

sudo脚本做任何需要做的(cygstart --action=runas)和调用命令带有-l参数的ls命令。

1

试试这个脚本:

#!/bin/sh 
"[email protected]" 

称呼它,例如,run,使其可以运行chmod u+x run,并尝试:

$ run ls -l #or ./run ls -l 
... 
    output of ls 
... 

的想法是,该脚本采用指定的参数命令行并将它们用作(子)命令...以这种方式修改脚本:

#!/bin/sh 
echo "Trying to run $*" 
"[email protected]" 

,你会看到。

+0

不适用于'./run cat“我的File.txt”' –

+0

确实如此,但是OP没有要求这么高级的东西,他只是想知道如何让脚本能够启动另一个命令。这些是高级的外壳考虑。 –

+1

修正了它。有一个upvote:P –