我使用以下命令:
cm1 cm2 arg1 arg2 'argument 3'
它首先转到cm1
,然后重定向arg1 arg2 'argument 3'
到另一个文件。
/usr/bin/cm1
:
#! /bin/bash
# some script here
shift
cm2 $@
/usr/bin/cm2
:
echo $#
# This returns 4 in lieu of 3 because the white space in 'argument 3' causes the argument to be split into two arguments.
那么,如何将参数从一个脚本传递到另一个脚本,并确保空格不会被读为参数分隔符?
答案1
我认为你必须将它重新括在引号中,如下所示:
#! /bin/bash
# some script here
shift
cm2 "$@"