我试图将一个参数作为“逐字”传递给我的脚本,问题是在双引号内的参数""
,它以一个双破折号/双连字符--
。
这是一个例子
script.sh -f "--conf=bla"
在我的剧本都$*
和[email protected]
将其转化成
-f --conf=bla
,当这件事达到getopts
是没有办法的方式应该将该信息进行解码是。
顺便说一下,这是我的getopts
foo()
{
while getopts ":f:" vars
do
case ${vars} in
f) MYVAR=${OPTARG};;
*) Err; exit 1;;
esac
done
shift $((OPTIND-1))
}
我想用来存储--conf=bla
内MYVAR
,我无法找到一个方法来做到这一点,显然是我无法控制的方式,双引号被剥离,一般来说,我不能真正将文本逐字传递给我的脚本。
我该如何控制它?
为什么你认为存在或不存在引号决定了最终结果? –
@ IgnacioVazquez-Abrams这不是真的,这是关于事实,即我作为输入传递它不是我进入脚本后得到的。双引号仅用作用户输入参数的分隔符。 – user2485710
那么你想让'$ MYVAR'包含'--conf = bla'还是'“--conf = bla”'呢? –