我有这个问题,我有两个(bourne)shell脚本,有子程序,另一个有主程序。
问题在于论证传递。
在我的子程序脚本中,我有这个:
test()
{
echo "$1"
}
当从主程序中调用时:
test "foo bar"
回声的结果是'foo bar'(注意单引号) 当我将测试修改为:
test()
{
FOOBAR="foo bar";
echo "$FOOBAR"
}
然后结果不包含引号。
然后subroutinescript来源如下:
. testroutines.sh
使用sh -x我看到传递似乎的变量用单引号引用?
我错过了什么?
答案 0 :(得分:0)
它似乎与IFS有关,它设置不正确。它没有空格。