cmds
1行に1つずつ、コマンドという名前のファイルにコマンドのリストがあります。
最後のコマンドを取得して変数に設定し、last_command
後で実行したいと思います。または、またはより適切なものを使用してください$last_command
。"$last_command"
まず、最後のコマンドを受け取ります。
$ last_command="$(cat cmds | tail -1)"
$ echo $last_command
cat file1 file2 file\ 3
最後の行cmds
はですcat cat file1 file2 file\ 3
。
問題は、私がそれを実行すると、スペース間のスペースがファイル名の一部であることを知らずに"$last_command"
エラーが発生することです。file
3
ベストアンサー1
ファイルのコマンドが正確で、必要なすべてのスペースが問題を回避すると仮定すると、eval
これは役に立ちます。$last_command
これを実行する代わりに:
eval $last_command
PS。eval
セキュリティ上の問題が簡単に発生する可能性があるため、一般にベストプラクティスとは見なされません。