一般的なシェル(bash、dash、kornshell)で機能するコマンドがあるかどうかを尋ねたかっただけです。 line
かどうかをチェックすることになっています 変数にはパスの任意の部分が含まれます。
if [[ $line =~ "$PWD"$ ]] ;then
承認された回答:
はい、bashの最近のバージョンはこれを行うことができます:
$ pwd
/home/terdon
$ line="I'm in /home/terdon"
$ [[ "$line" =~ "$PWD"$ ]] && echo yes
yes
同じ構文がzshとkshで機能しますが、ダッシュでは機能しません。私の知る限り、ダッシュにはそのような機能はありません。
正規表現が変数$line
かどうかをチェックしていることに注意してください 終了 $PWD
を使用 。 $PWD
かどうかを確認するには $line
のどこにでも一致します 、$
を削除します :
$ line="I'm in /home/terdon, are you?"
$ [[ "$line" =~ "$PWD" ]] && echo yes
yes