95

文字列の最初の文字が「/」であるかどうかを確認し、そうである場合は分岐する必要がある Unix でスクリプトを作成しています。

たとえば、次の文字列があります。

/some/directory/file

これが1を返すようにしたい、そして:

server@10.200.200.20:/some/directory/file

0 を返す。

4

4 に答える 4

165

これを行うには多くの方法があります。二重括弧でワイルドカードを使用できます。

str="/some/directory/file"
if [[ $str == /* ]]; then echo 1; else echo 0; fi

部分文字列展開を使用できます。

if [[ ${str:0:1} == "/" ]] ; then echo 1; else echo 0; fi

または正規表現:

if [[ $str =~ ^/ ]]; then echo 1; else echo 0; fi
于 2013-08-28T12:47:59.017 に答える
11
$ foo="/some/directory/file"
$ [ ${foo:0:1} == "/" ] && echo 1 || echo 0
1
$ foo="server@10.200.200.20:/some/directory/file"
$ [ ${foo:0:1} == "/" ] && echo 1 || echo 0
0
于 2013-08-28T12:49:55.693 に答える