4行目のエラーはどこですか?あなたは、単一のブラケットのために==を使用することはできませんbash文字列の等価性テストで予期しない演算子エラーが発生するのはなぜですか?
for fi in /etc/uwsgi/apps-available/*
do
bn=`basename $fi .ini`
if [ $bn == "README" ]
then
echo "~ ***#*** ~"
else
echo "## Shortend for convience ##"
fi
done
'if [$ bn ==" README "]'で動作するはずです。 – fedorqui
元のスクリプトでその変更を加えようとしましたが、まだエラーが発生します。私は多くのテストをしました。 rme = READMEを設定した場合、単純なテストでどちらかまたは両方のサイトの引用符で、次に例を実行します。[$ rme == README] && echo "equal";出力は等しい。スペースがどこにあるかは問題ありません。もちろん、あなたがスペースの一方の側にスペースを置くと、スペースが他方のスペースになければなりません。 (私はbashを知っています。)私は迷子を持っていて、エラーの行を修正したり変更したりしなかった場合に備えてセミコロンを編集しました。 –
コードが新しいエラーを出しているので、あなたの質問を更新してください。私はテストディレクトリでREADMEファイルに触れ、あなたのコードは 'if [$ bn ==" README "]'という私の以前の提案で私に働きかけました。 – fedorqui