如何从 space 分隔数据流中将值提取到单独的变量中
how to extract values into separate variables from a stream of space separated data
从命令行读取输入后,我需要将输入分成不同的值。我正在使用 OPTARGS
方法和 while
循环阅读它。
所以我的输入会像 "hostanme1 hostname2 hostnamen"
我如何通过这个循环来提取单独变量中的主机名。
while getopts S:H: opt
do
case ${opt} in
S)
SCHNAME=${OPTARG}
;;
H)
HOST=${OPTARG}
;;
*)
DisplayUsage
exit 1
;;
esac
done
这将是 运行 就像 ./filename.ksh -S schema -H "Host1 host2 host3 host4
关键是在字符串周围添加“(”和“)”,项目之间有空格以构成对象数组。
H)
HOSTS=(${OPTARG})
;;
for host in "${HOSTS[@]}"
do
echo "$host"
done
从命令行读取输入后,我需要将输入分成不同的值。我正在使用 OPTARGS
方法和 while
循环阅读它。
所以我的输入会像 "hostanme1 hostname2 hostnamen"
我如何通过这个循环来提取单独变量中的主机名。
while getopts S:H: opt
do
case ${opt} in
S)
SCHNAME=${OPTARG}
;;
H)
HOST=${OPTARG}
;;
*)
DisplayUsage
exit 1
;;
esac
done
这将是 运行 就像 ./filename.ksh -S schema -H "Host1 host2 host3 host4
关键是在字符串周围添加“(”和“)”,项目之间有空格以构成对象数组。
H)
HOSTS=(${OPTARG})
;;
for host in "${HOSTS[@]}"
do
echo "$host"
done