我试图通过变量在 ksh 中传递一个带有空格的参数。
这是一些示例代码来演示该问题。正如您将看到的那样,带有空格的参数稍后会作为两个变量处理 - 而不是我所追求的。
*更新 - 我没有复制并粘贴原始问题中的所有代码。**
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
谢谢,