2017-08-10 44 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 –