私はこれを使用しようとしています:
$ if [$a == 1] then { echo 'yes'; } fi;
しかし、エラーが発生します。
-bash: syntax error near unexpected token `}'
正しい形式は何ですか?いろいろ試してみましたが、運がありませんでした。
ベストアンサー1
[
bashによると、これは別の文字にすぎず、自己定義されていません。したがって[
、周囲にスペースを追加する必要があります]
。[[
andを使用する方が良いかもしれません]]
。
そして、次のコマンドif
(たとえば、コマンドです)[
は、または改行文字で終わる必要があります。;
最後に、==
(POSIX、FWIWではない、POSIXが好む=
)数値平等ではなく、文字列平等です。
だからあなたが意味するのはおそらく次のようなものです:
if [[ $a -eq 1 ]]; then echo yes; fi
ただし、代わりに算術評価を使用できます。
if ((a == 1)); then echo yes; fi
(算術評価で上等はあり==
、変数名の前に付ける必要はありません$
。混乱するのはわかります。)
詳細については[
:help test
。情報[[
:ヘルプ[[
(基準test
)。について((
:help let
。についてbash
:man bash