[解決済み] シェルスクリプトで NULL 値と文字列を比較する際に単項演算子が期待される
2022-02-25 08:47:49
質問
私は2つの変数を持っています
var=""
var1=abcd
以下は、私のシェルスクリプトのコードです。
if [ $var == $var1 ]; then
do something
else
do something
fi
このコードを実行すると、警告が表示されます。
[: ==: unary operator expected
どうすれば解決できますか?
どのように解決するのですか?
の値が小さいので
$var
は空文字列なので、これ。
if [ $var == $var1 ]; then
は、このように展開されます。
if [ == abcd ]; then
というのは構文エラーです。
引数を引用する必要があります。
if [ "$var" == "$var1" ]; then
を使用することもできます。
=
よりも
==
これはオリジナルの構文で、少し移植性が高いのです。
bashを使用している場合は、このように
[[
の構文は、引用符を必要としません。
if [[ $var = $var1 ]]; then
その場合でも、変数の参照を引用して、引用符を付けても問題ない。
if [[ "$var" = "$var1" ]]; then
を思い出そうとする読者の手間を省くことができるかもしれません。
[[
...
]]
はそれらを必要とします。
関連
-
[解決済み】stdinがターミナルではないため、擬似ターミナルが割り当てられない
-
linux shell script cannot be executed, error syntax error near unexpected token `$'\r'' solution.
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] シェルスクリプトで部分文字列を別の文字列に置き換える
-
[解決済み] OS X:Linuxのwgetに相当するもの
-
[解決済み] シェルスクリプトからエコーを使わずにパスワードを取得する方法
-
[解決済み] cURL を使ってファイル付き POST データをアップロードする
-
[解決済み] ターミナルからmysqlを使用して、bashスクリプトで書かれたパスワードを警告メッセージとして表示しないようにする。
-
[解決済み】bashで1つのコマンドでシェル変数にデフォルト値を割り当てる。
-
[解決済み】Bashで複数行のコメントを作成する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
バッドサブスティチューション
-
シェルスクリプティングユーティリティ関数 Module 1
-
[解決済み] シェルスクリプトのシンタックスエラー。予期しないファイルの終了[重複]。
-
[解決済み】/dev/null 2>&1とは何ですか?
-
[解決済み】コマンドの出力をMakefileの変数に代入する方法
-
[解決済み】シェルエイリアスにコマンドライン引数を渡すには?重複
-
[解決済み】LinuxのシェルスクリプトからYAMLファイルをパースする方法は?
-
[解決済み】2つのファイルに共通する行を検索するシェルコマンド
-
[解決済み] zshでALT+LeftArrowKeyの解決策を探しています。
-
[解決済み] 別のtmuxセッションの中でtmuxセッションを開いたときに、コマンドを送信するにはどうすればよいですか?