単語を分けない方法[重複]

単語を分けない方法[重複]

cmds1行に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"エラーが発生することです。file3

ベストアンサー1

ファイルのコマンドが正確で、必要なすべてのスペースが問題を回避すると仮定すると、evalこれは役に立ちます。$last_commandこれを実行する代わりに:

eval $last_command

PS。evalセキュリティ上の問題が簡単に発生する可能性があるため、一般にベストプラクティスとは見なされません。

おすすめ記事