文字列の最初の文字が「/」であるかどうかを確認し、そうである場合は分岐する必要がある Unix でスクリプトを作成しています。
たとえば、次の文字列があります。
/some/directory/file
これが1を返すようにしたい、そして:
server@10.200.200.20:/some/directory/file
0 を返す。
文字列の最初の文字が「/」であるかどうかを確認し、そうである場合は分岐する必要がある Unix でスクリプトを作成しています。
たとえば、次の文字列があります。
/some/directory/file
これが1を返すようにしたい、そして:
server@10.200.200.20:/some/directory/file
0 を返す。
これを行うには多くの方法があります。二重括弧でワイルドカードを使用できます。
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
$ 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