私は1つの引数($ 1)を取っているスクリプトを持っています。だから私は次のように実行します:bash script.sh file1.txt。しかし、私がより多くのファイル(bash script.sh *)を置きたいとき、彼はすべてから1つのファイルしか取ることができません。どうすればそれを動作させることができますか? $ 1としてのフォルダからすべてのファイルをscript.shに置き換えるか、それとも簡単な方法ですか?(Bash)多くのファイルをスクリプトに置き換えるには?
#!/bin/bash
sed -i '/^$/d' [email protected]
declare -a command
while read -r line
do
[[ "$line" =~ ^secretcommand$ ]] || continue
read -r cmd || break
eval "$cmd"
break
done<"[email protected]"
「$ @」では機能しません。
お願いします。
スクリプトで '' $ @ "'を使用して目的を達成していますか? –
[Bashスクリプトで引数を反復処理する方法]の可能な複製(http://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-a-bash-script) – SLePort
'shift'を使います。引数がA B Cの場合、$ 1は "A"、$ 2は "B"などとなります。シフトを実行した後、 "A"は消え、$ 1は "B"となります。 – linuxfan