【发布时间】:2012-02-17 09:31:09
【问题描述】:
我有这个问题,我有两个(bourne)shell 脚本,一个带有子程序,另一个带有主程序。
问题在于参数传递。
在我的子程序脚本中,我有这个:
test()
{
echo "$1"
}
当像这样从主程序调用时:
test "foo bar"
回显的结果是'foo bar'(注意单引号) 当我将我的测试修改为:
test()
{
FOOBAR="foo bar";
echo "$FOOBAR"
}
那么结果不包含引号。
那么 subroutinescript 的来源是这样的:
. testroutines.sh
使用 sh -x 我看到传递的变量 似乎 用单引号引起来?
我错过了什么?
【问题讨论】:
-
我只想接受一个可以接受的答案。也许我的问题很难?