在我的用例中,我想将 的值更改为IFS
已知的分隔符 ( -
)。我尝试了以下方法:
OLDIFS=$IFS
IFS='-'
for x in $*
do
echo $x
done
IFS=$OLDIFS
当使用例如-a b -c d
作为输入字符串时,我希望输出是
a b
c d
但是,我得到的是
a
b
c
d
我在AIX
。
awk
这是使用并避免所有操作获取此输出的一种方法IFS
:
s='-a b -c d'
echo "$s" | awk -F ' *- *' '{print $2 RS $3}'
a b
c d
我试过你的代码,我得到了
a b
c d
尝试这个
$ cat >a <<.
#!/bin/sh
OLDIFS=$IFS
IFS='-'
for x in $*
do
echo $x
done
IFS=$OLDIFS
.
$ chmod +x a
$ ./a "-a b -c d"
a b
c d
$