我有一个bash脚本,我只能向该脚本传递一个参数,我需要将这个参数拆分为两个变量。
我尝试过这样传递参数:
./script.sh aaaaa;bbbbb
这是script.sh:
#!/usr/bin/env bash
export VAR=$1
export arrIN=(${VAR//;/ })
echo ${arrIN[0]}
echo ${arrIN[1]}
我得到了错误
-bash: bbbbb: no se encontró la orden
这种split方法是错误的吗?
发布于 2020-10-13 11:48:59
在传递以分号分隔的参数时,必须使用引号。当shell在命令行上看到分号(;
)时,它被视为命令分隔符,即./script.sh aaaaa
被视为第一个命令,bbbbb
被视为第二个命令。因此,试着这样做:
./script.sh "aaaaa;bbbbb"
你也可以这样做:
IFS=';' read -r -a array <<< "aaa;bbbb"
echo "${array[0]}"
echo "${array[1]}"
https://stackoverflow.com/questions/64328144
复制相似问题