正试图通过变量在ksh中传递带有空格的参数。ksh - 传递带空格的参数
下面是一些演示此问题的示例代码。正如你将会看到带有空格的参数后来被作为两个变量处理 - 而不是我所追求的。
*更新 - 我没有复制和粘贴origianl问题中的所有代码。 **
内容param_test.sh的
#!/bin/ksh
echo "check 1"
param_string=${1}
param_string2=${2}
echo "check 2"
echo param_string = $param_string
echo param_string2 = $param_string2
echo "check 3"
call_param_test.sh内容
#!/bin/ksh
param_test.sh 'a b' c
CMD="param_test.sh 'a b' c"
# CMD=param_test.sh
# CMD="${CMD} 'a b c'"
echo CMD is $CMD
echo now running CMD
${CMD}
echo back to calling script
echo at end
Results of executing call_param_test.sh
check 1
check 2
param_string = a b
param_string2 = c
check 3
CMD is param_test.sh 'a b' c
now running CMD
check 1
check 2
param_string = 'a
param_string2 = b'
check 3
back to calling script
at end
感谢,
谢谢Dennis,我需要的秘密酱是$()。 什么似乎对我来说是使用这个 - myvar ='\ test \ test' out = $(print -R $ myvar | sed's/\\/\\\\\\/g') – Anthony 2010-09-15 23:19:12