从 shell 脚本获取完整执行的命令

从 shell 脚本获取完整执行的命令

我有一个脚本接受 URL 作为其参数之一

所以可以这样评估

script1 url -arg1 1

但 URL 可能包含 & ,所以它的解释是这样的

script1 & brokenCommand -arg1 1

我希望能够brokenCommand -arg1 1阅读script1

是否可以? (无需输入引号内的网址)

答案1

不,这是不可能的。如果您的环境是bash,则必须遵循 bash 规则。在 bash 中,某些字符具有特殊含义,如果您想避免这种情况,则需要使用\引号或引号对它们进行转义。

如果您想要更用户友好的东西,也许您应该选择其他环境。read在 bash 脚本内部使用就足够了。然而,当您开始使事情复杂化时,您会意识到使用引号并不是那么麻烦。

相关内容