用于处理文件夹路径的shell脚本

时间:2013-08-08 17:43:16

标签: shell

我无法处理以下shell脚本

#!/bin/sh
P= '/mnt/temp/'
echo $P
Q= `echo $P` | sed -e "s/^.*\(.\)$/\1/"
echo 'Q is' $Q
echo ${P%?}

我希望输出为

/mnt/temp/
Q is /
/mnt/tmp

[编辑]

作为下一步,我想更新删除尾随/在P,所以我正在尝试

if  ${Q} ="/"
then
   echo in
   P=${P%?}
fi

但在执行时它说

/: Permission denied

1 个答案:

答案 0 :(得分:5)

中的变量分配中不允许使用空格,因此:

#!/bin/sh
P='/mnt/temp/'
echo "$P"
Q=$(echo "$P" | sed -e "s/^.*\(.\)$/\1/")
echo "Q is $Q"
echo "${P%?}"

并使用更多引号,请参阅http://mywiki.wooledge.org/Quotes http://mywiki.wooledge.org/Argumentshttp://wiki.bash-hackers.org/syntax/words