我有变量及其包含字符串
LST_FILE='find \"$2\" \"${TYPE[@]}\" \"${NAME[@]}\" -mmin +\"$HOUR_TO_MIN\"'
如何将相关字符串转为命令?使用 eval 可以吗?或者有任何 eval 的替代品,因为我读到不建议使用 eval 。
eval $LST_FILE
因为我打算执行以下命令,
LST_FILE+='-delete'
eval $LST_FILE
答案1
是的,不推荐eval,并且已经得到解答这里为什么。
现在,我不确定您要做什么,因为您不提供任何上下文、代码和预期结果,但如果您想操作数据以便根据某些条件执行 find ,那么您可以像这样执行:
LST_FILE_DELETE='-delete'
find "$2" "${TYPE[@]}" "${NAME[@]}" -mmin +"$HOUR_TO_MIN" "${LST_FILE_DELETE}"
通常,当解决方案看起来很复杂或者您必须经历几种解决方法时,那么您可能应该再次考虑问题以及如何解决它,很可能您会找到更好的方法来解决它而不使用解决方法。