[已解决][问题]怎样分隔PATH

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
bobo712
帖子: 63
注册时间: 2007-09-26 15:27

[已解决][问题]怎样分隔PATH

#1

帖子 bobo712 » 2008-08-25 9:33

for i in ${PATH//:/ }; do
if [ -e "$i" ]
then
echo "+ $i"
else
echo " $i"
fi
done

我想将PATH里面的路径读入i中,为什么这样写不对?那么正确的应该怎样写呢?谢谢大家的帮助

问题已经解决,多谢大家的帮忙。谢谢
#!/bin/bash

#tr ':' '\n'
#for i in ${PATH/:/}; do
for i in `echo $PATH | tr ':' '\n'`;do
if [ -e "$i" ] # if $i exists
then
echo "+ $i"
else
echo " $i"
fi
done

exit 0
上次由 bobo712 在 2008-08-25 9:52,总共编辑 2 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2008-08-25 9:35

你这什么语法
你不如tr ':' '\n'
● 鸣学
头像
bobo712
帖子: 63
注册时间: 2007-09-26 15:27

#3

帖子 bobo712 » 2008-08-25 9:45

eexpress 写了:你这什么语法
你不如tr ':' '\n'
我想将PATH里面的路径一个一个赋值给i
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#4

帖子 eexpress » 2008-08-25 9:48

echo $PATH|tr ':' '\n'|while read i; do xxxxxxxxxxxxxxx; done
● 鸣学
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#5

帖子 solcomo » 2008-08-25 9:48

for i in `echo $PATH | tr ':' '\n'`; do echo $i; done
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#6

帖子 aBiNg » 2008-08-25 9:53

tr ':' ' '

[fyodor @ ~] $ for i in ${PATH//:/ }; do echo $i; done
/home/fyodor/script
/usr/local/bin
/usr/bin
/bin
/usr/games
/sbin
/usr/sbin
回复