我无法处理以下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
答案 0 :(得分:5)
shell中的变量分配中不允许使用空格,因此:
#!/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/Arguments和http://wiki.bash-hackers.org/syntax/words