-1

引数を取り、それが特定の単語と等しいかどうかを確認し、それに応じてメッセージを表示するスクリプトを作成したかったのです。ubuntu OS の bash シェルを使用しています。チュートリアルに従って何かを試しました- http://www.tech-recipes.com/rx/209/bournebash-shell-scripts-string-comparison/失敗しました。

#!/bin/bash
if ["$1"=="password"]
then
echo correct password
else
echo wrong password
fi

bash Script.sh パスワード。

エラーメッセージは - [パスワード=パスワード]: コマンドが見つかりません。

それを修正する方法?

4

1 に答える 1

5

空白:

#!/bin/bash
if [ "$1" == "password" ]
then
echo correct password
else
echo wrong password
fi

の後の式ifは実際にはコマンドであり、コマンドは空白で区切られています。したがって、あなたのコマンドは["$1"=="password"]に展開され[password==password]、明らかに存在しません(/usr/bin/[password==password]誰か?)。

私の修正されたコードでは、コマンドは[(はい、a があります/bin/[) であり、残りの行は引数です。

詳細man testについては、 を参照してください (testは の一種のエイリアスです[)。

于 2013-08-01T18:32:13.833 に答える