0
#!/bin/bash
ret=`zenity --entry `
zenity --entry --text=$ret
这里的第二条指令只打印字符串的第一个字。我如何获取可以包含空格的字符串?bash中的空格分隔参数
#!/bin/bash
ret=`zenity --entry `
zenity --entry --text=$ret
这里的第二条指令只打印字符串的第一个字。我如何获取可以包含空格的字符串?bash中的空格分隔参数
利用该:
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] []
RET ='zenity --entry “--text = $ RET”'。仍然不工作..我必须逃避双引号? – Kaunteya 2013-02-21 12:21:29
@KaunteyaSuryawanshi:不,你为什么要改变_first_行(以'ret ='开头的行)?这被用来设置'ret'。更改_second_行,即_uses_'ret',您声明的那个行不起作用。 – paxdiablo 2013-02-21 12:22:41