2

pwd コマンドの結果を変数に格納し、if コマンドでその変数の値をチェックして、特定の文字列と一致するかどうかを確認する単純な bash スクリプトを Ubuntu 12.10 で作成しようとしています。しかし、その変数の内容をディレクトリ自体として扱い、「そのようなファイルまたはディレクトリはありません」というエラーを出し続けるため、エラーが発生し続けます

プログラムは以下の通りです。

myvar=$(pwd)
if [$myvar -eq /home/vicky] #fails this check as variable myvar contains /home/vicky
then
    echo correct
else
    echo incorrect
fi

どんな助けでもいただければ幸いです

4

1 に答える 1

1

そのための適切な形式は

myvar=$(pwd)
if [ "$myvar" = /home/vicky ]  ## Need spaces and use `=`.

そして、あなたはbashにいるので、使用する必要はありませんpwd. を使用するだけ$PWDです。また、[[ ]]変数は単語の分割やパス名の展開だけではないため、使用することをお勧めします。

myvar=$PWD
if [[ $myvar == /home/vicky ]]

または単に

if [[ $PWD == /home/vicky ]]
于 2013-09-18T06:47:17.597 に答える