bash中以空格分隔的参数

时间:2013-02-21 12:02:53

标签: bash shell

#!/bin/bash  

ret=`zenity --entry `  

zenity --entry --text=$ret  

这里第二条指令只打印字符串的第一个字。如何获取可以包含空格的字符串??

1 个答案:

答案 0 :(得分:2)

有了这个:

zenity --entry "--text=$ret"

这应该将整个--text=thing with spaces in it作为单个参数呈现。

当然,您的zenity可执行文件仍然必须能够处理带有空格的参数,但这将是不同的问题。

举例来说,请参阅以下脚本可执行文件:

#!/bin/bash
echo "[$1]" "[$2]"

如果在没有引号的情况下运行它,则会得到以下结果:

pax> ./testprog.sh two args
[two] [args]

pax> ./testprog.sh "one arg"
[one arg] []