はじめましてよろしくお願いします。
質問サイトもシェルも初心者なので至らない点がございましたら
ご容赦の程よろしくお願いします。
下記シェルスクリプトを実行すると下記エラーが発生します。
「test2」変数に空白無しで「abc」と入力するとエラーは発生しません。
変数test2の値(a bc)を変更せずにエラーが発生しない方法はないでしょうか?
手段でもかまいませんので教えてください。
========================= testsh110207.sh ======================================
#!/bin/sh
test1="abc"
test2="a bc"
if [ ${test1} = ${test2} ]
then
echo "=:文字列1と文字列2が等しい場合に真"
echo "test1の「${test1}」と、test2の「${test2}」は等しい"
fi
if [ ${test1} != ${test2} ]
then
echo "!=:数値1と数値2が等しくない場合に真"
echo "test1の「${test1}」と、test2の「${test2}」は等しくない"
fi
echo "********* テスト完了 *********"
=======================================================================
$ ./testsh110207.sh
./testsh110207.sh: line 6: [: too many arguments
./testsh110207.sh: line 13: [: too many arguments
********* テスト完了 *********
No.1ベストアンサー
- 回答日時:
if [ ${test1} = ${test2} ]
↓
if [ "${test1}" = "${test2}" ]
値にスペースを含む変数を引数に渡すときはダブルクォーテーショ
ンで括らないと展開されて複数の引数が渡されたという風にみなさ
れてしまいます。
[ コマンドで比較する場合は第2引数に演算子、第4引数は] でな
ければなりませんが(もちろん演算子によってルールは違います)、
変数が展開されてしまった結果、] が第5引数になってしまってお
りエラーを吐いている状況です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- 計算機科学 急ぎです、大学数学再帰の問題難しくてがわからないです。 以下の4つの文字列を連結して新たに生成できる 1 2023/05/17 20:11
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- 物理学 文字説明になってしまうのですがすいません。物理の問題です。 重さWの荷物を吊るす。 重さを吊るしたと 2 2023/07/06 02:40
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
centOS postfixインストールエラー
-
毎回同じログオンスクリプト(...
-
VMwareにCentOSをインストール...
-
UNIX(Cシェル)での数値...
-
巡回冗長検査(CRC)エラー
-
メールアドレスが生きているか...
-
Windows以外のOSでhttps://logi...
-
Apacheエラー 「(24)Too many o...
-
gpupdateでのエラーの対処
-
【PC立ち上げ時のエラー表示に...
-
makeコマンドのエラーについて(
-
ログにserver reached MaxReque...
-
windows10の評判は?
-
わかりません
-
冗長の失敗した場合の対処
-
XP 教えて下さい!!!!
-
オーバークロックソフトのエラ...
-
Windows Server 2008 R2 Standa...
-
異常にクラッシュやブルースク...
-
SaAT Netizen(NzSess.exe)のメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
市販DVD再生ができません。ubun...
-
マザーボードの赤いランプの意...
-
UNIX(Cシェル)での数値...
-
WordpressでAMPのプラグインが...
-
メールアドレスが生きているか...
-
ログにserver reached MaxReque...
-
ビット落ちとは一体何なのでし...
-
数年前からWindows10 の Update...
-
LyricsMasterでエラーが出てし...
-
HDD交換修理したWindows10・...
-
オーバークロックソフトのエラ...
-
makeコマンドのエラーについて(
-
CD-Rで音楽が焼けない
-
Androidのログ
-
特定の Web サイトにアクセスで...
-
HDDエラーチェック情報(Crystal...
-
毎回同じログオンスクリプト(...
-
SaAT Netizen(NzSess.exe)のメ...
-
同一LAN内からapacheにアクセス...
-
VMwareにCentOSをインストール...
おすすめ情報