wjw870907 发表于 2020-04-27 17:41

传入参数如果处理

比如sh 1.shaaa bbb,ccc,ddd
如何把第二个参数分别取出?

chengchow 发表于 2020-04-28 09:25

本帖最后由 chengchow 于 2020-04-28 09:33 编辑

OLD_IFS=$IFS
IFS=,
for i in $(echo $2);do
    echo $i
done
IFS=$OLD_IFS



for i in $(echo $2| awk -F, '$1=$1');do
    echo $i
done
echo $2 | tr \, \
echo $2 | sed 's/,/ /g'

本友会机友会摄友会 发表于 2020-04-30 18:13

寒枫1225 发表于 2020-05-07 17:13


while [ $i -le $[`echo "hello,shell,split,test"|grep -o ","|wc -l`+1]
]; doecho"hello,shell,split,test"|cut-f$i -d','; i=$[$i+1];done

wh7211 发表于 2020-05-07 21:24

回复 1# wjw870907


cat 1.sh
#!/bin/bash
a=`echo "$2"|awk -F"," '{print $1}'`
b=`echo "$2"|awk -F"," '{print $2}'`
c=`echo "$2"|awk -F"," '{print $3}'`
echo "a is ${a}."
echo "b is ${b}."
echo "c is ${c}."

./1.sh aaa bbb,ccc,ddd
a is bbb.
b is ccc.
c is ddd.
页: [1]
查看完整版本: 传入参数如果处理