文字列をUnixコマンドに変換

文字列をUnixコマンドに変換

変数とその埋め込み文字列があります。

LST_FILE='find \"$2\" \"${TYPE[@]}\" \"${NAME[@]}\" -mmin +\"$HOUR_TO_MIN\"'

関連文字列をコマンドに変換するには?体験版は使えますか?それとも、evalを使用することはお勧めできないという内容を読んだので、evalに代わるものはありますか?

eval $LST_FILE

次のコマンドを実行する予定なので、

LST_FILE+='-delete'
eval $LST_FILE

答え1

はい、evalは廃止され、回答されました。ここなぜ。

コンテキスト、コード、期待される結果を提供していないので、何をしたいのかわかりませんが、いくつかの条件に基づいて検索を実行するためにデータを操作したい場合は、これを行うことができます。このように:

LST_FILE_DELETE='-delete'
find "$2" "${TYPE[@]}" "${NAME[@]}" -mmin +"$HOUR_TO_MIN" "${LST_FILE_DELETE}"

一般に、解決策が複雑に見える場合や、いくつかの解決策が必要な場合は、問題をもう一度考えて解決策を考える必要があり、解決策を使用せずに問題を解決するためのより良い方法を見つける可能性が高くなります。

関連情報