0

我无法处理以下 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
4

1 回答 1

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

于 2013-08-08T17:48:31.803 回答