私は$1
と$2
でいくつかのことをする必要があるスクリプトを持っています、そして、それが存在する場合、それに送られた残りの引数を実行する必要があります。現在、私はこれをやろうとしています:スクリプトに送られた引数リストを短くして、残りの短縮リストを評価するにはどうすればよいですか?
if [ ! -z "$3" ]; then
${@:3}
eval [email protected]
fi
しかしこれは動作していません。どのようにして目的の動作を達成できますか?
さらに明確にするために、$ 1はファイル、$ 2は別のスクリプト、$ @は別のスクリプトの後にその最終スクリプトの引数が続くようにする必要があります。
引数は何を表していますか?それらはコマンド名か、コマンド名とそれらのコマンドの引数の組み合わせですか? 'eval'を使うことはほとんど間違った方法です。あなたのスクリプトがどのように呼び出されているか、引数とは何をすべきかの具体的な例を教えてください。 – chepner
'eval'の前に' shift 2'を使います。 – hidefromkgb
@chepner OPへの説明の一部を編集しました。現在提案されているシフト方法を試してみる/ – FutureShocked