【发布时间】:2011-10-11 19:12:14
【问题描述】:
根据this question here,我正在使用如下所示的 shell 脚本在一些本地服务器上部署 linux 应用程序:
#!/bin/sh
export LD_LIBRARY_PATH=./libs:$LD_LIBRARY_PATH
exec ./TheBinary $*
当我在没有这些包装器的情况下运行 TheBinary 时(但在修改了 LD_LIBRARY_PATH 之后,我想通过脚本部署后执行此操作),我可以使用双引号 (") 在命令行参数中保留空格。但是上面的脚本似乎可以将它们清理掉;如何修改此脚本以尊重用双引号括起来的命令行参数中的空格?
【问题讨论】:
-
您是否同时引用了“$LD_LIBRARY_PATH”和“$*”?
-
试图引用 "$*" 会使应用程序认为它只有一个命令行参数。
-
哎呀,明白了...有关详细说明,请参阅tldp.org/LDP/abs/html/internalvariables.html#ARGLIST。 @sehe 说得对。
标签: linux command-line-arguments