0

次のシェル スクリプトを処理できません

#!/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/Argumentsおよび http://wiki.bash-hackers.org/syntax/wordsを参照してください。

于 2013-08-08T17:48:31.803 に答える