比如linux中的环境变量PATH为:
/opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
如果要得到其中的每一个目录可以通过以下两种方式实现:
1)首先使用sed命令将冒号转换成制表符、空格或者换行符,然后使用for循环取值,具体代码为:
for item in `echo $PATH | sed 's/:/\t/g'`
do
echo -e "$item"
done
输出为:
/opt/ros/indigo/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
2)最简单的办法是,调整for循环的内部字段分隔符IFS,设置IFS=:即可。
IFS=:
for item in $PATH
do
echo "$item"
done
输出结果与1)一致。