2017-08-10 12 views
0

彼らは何をしているのか分かります。私はちょうど彼らの命令が何であるか疑問に思っていた。シェルスクリプトを使ってどうやって作るのですか? は例えば、次のようなコマンド:「sudo」、「su」、「torify」のコマンドの種類

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

を使用すると、シェルスクリプトでそれを行う方法が"[email protected]"構築物であるという考え

+0

別のコマンドを実行します。 –

答えて

3

を得る願っています。

"[email protected]"は、シェルスクリプトに渡したすべての引数の引用符付きリストに展開されます。 $1あなたのシェルスクリプトを実行させたいコマンドになります。$2$3などは、への引数です。コマンドです。

唯一の例はcygwinのものです。 Cygwinはsudoはありませんが、私はそれをエミュレートし、このスクリプトいる:私は

$ sudo ls -l 

のようなコマンドを実行したときにだから私のsudoスクリプトは、それが(cygstart --action=runas)を行う必要があるものは何でも

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

を行い、通話-l引数を持つlsコマンド。

1

は、このスクリプトを試してみてください。

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

chmod u+x runそれが実行可能にする、run、例えば、それを呼び出して、それを試してみてください。

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

アイデアは、スクリプトが上の指定のパラメータを取るということですコマンドラインを使用して、(サブ)コマンドとして使用します...

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

と表示されます。

+0

'./run cat" My File.txt "' –

+0

には機能しませんが、OPはそのような高度なものを要求しないので、スクリプトで別のコマンドを起動できるようにする方法を知りたがっています。これらは高度なシェルの考慮事項です。 –

+1

修正しました。 upvoteを持っている:P –