2016-06-14 6 views
-1

を持っている:シェルスクリプトで実行するプログラムにパラメータを与えるにはどうすればよいですか?たとえば、私は、このシェルスクリプトを

clear 
echo "Script is starting now please give input:" 
read parameter 


cd /path to program 
./program $parameter 

私が実行しようとしていたプログラムにパラメータを与えることができる方法は?

+3

$: chmod u+x /path/to/program.sh 

はでスクリプトを実行します。あなたはどんな誤りを抱えていますか?あなたは 'read'のステップにどんなインプットを与えていますか? – anishsane

+0

「許可が拒否されました」というエラーが表示されますか? – Alan

+0

** chmod 777 /path/program.sh**(777 =ユーザー、グループ、その他のユーザーに完全なアクセス許可)でアクセス権を変更する場合@anishsaneが述べたように、フォーマットを維持するために引用符を使用してください。 – Alan

答えて

1

ユーザー入力と引数の間には違いがあります。引数はスクリプトを実行するときに渡され、ユーザー入力はスクリプトの実行中に端末から読み取ったものです。

program.sh

clear 
echo "Script is starting now please give input:" 

# Parameter you passed: 
echo "$1 is the parameter you passed." 

# capture user input 
read parameter 

# do what you wish with parameter: 
echo "$parameter is the user input read." 

あなたがスクリプトのパーミッションを変更することを確認してください。 (私はいくつかの変数の引用使用する以外)何が行っていることは正しいです

./path/to/program.sh argument 
関連する問題