如何不拆分单词

如何不拆分单词

我在名为 的文件中有一个命令列表cmds,每行一个命令。

我想获取最后一个命令,将其设置在变量中last_command并稍后运行。与$last_command"$last_command",或任何更合适的。

我首先获取最后一个命令:

$ last_command="$(cat cmds | tail -1)"
$ echo $last_command
cat file1 file2 file\ 3

最后一行cmdscat cat file1 file2 file\ 3.

问题是,当我运行 时"$last_command",它不会知道 和 之间的空格file3文件名的一部分,并给我一个错误。

答案1

假设您在文件中的命令是正确的并且所有必需的空格都逃脱了邪恶,eval这将对您有所帮助。而不是$last_command执行这个:

eval $last_command

附言。eval通常不被视为最佳实践,因为它很容易导致安全问题。

相关内容