[解決済み] bashでのDiffコマンド
2022-03-02 19:47:41
質問
以下のbashコマンドを実行するたびに、エラーが発生します。
以下はそのコードです。
sort -b ./tests/out/$scenario > $studentFile
sort -b ./tests/out/$scenario > $profFile
$(diff $studentFile $profFile)
if [ $? -eq 0 ]
then
echo "Files are equal!"
else
echo "Files are different!"
fi
以下はそのエラーです。
./test.sh: 2c2: not found
私は基本的に2つのファイルをソートし、それらが等しいかどうかをチェックしたいのです。このエラーが何を意味するのか、そしてどうすればこのエラーを取り除くことができるのか、理解できません。どんな助けでも非常に感謝されます。
ありがとうございます。
解決方法は?
簡単な答え:使用する
diff $studentFile $profFile
の代わりに
$(diff $studentFile $profFile)
長い回答です。
diff $studentFile $profFile
は数行の出力を提供し、最初の行は、あなたの例では、"2c2"です。diff コマンドを $() で囲むと、この式の結果は、すべての行を連結した文字列、 "2c2 ..." になります。スクリプトでは、この結果をbashが新しいコマンドとして実行し、"command not found: 2c2"という結果を返します。
例によって比較してみましょう。
$(diff $studentFile $profFile)
とします。
echo $(diff $studentFile $profFile)
*** 追記 ***
if diff $studentFile $profFile > /dev/null 2>&1
then
echo "equal files"
else
echo "different files"
fi
は、期待される結果に到達するための可能な方法です。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「ambiguous redirect」エラーが発生する
-
[解決済み] 値がベースに対して大きすぎる(エラートークンは "08")[重複]
-
[解決済み] スクリプトからのエラーメッセージを含むすべての端末出力をログファイルにパイプする方法
-
[解決済み] Bash/Terminalで複数行の環境変数を書き出す方法 例: RSA秘密鍵
-
[解決済み] bashで::演算子は何をするのですか?
-
[解決済み] bashスクリプトで変数の束縛を解除
-
[解決済み] シンタックスエラー」が発生しました。"(" unexpected' (expecting "done") [duplicate]".
-
[解決済み] bash file returns unexpected token `$'dottpr''
-
[解決済み] "[0: コマンドが見つかりません]" in Bash [重複].
-
[解決済み] IPアドレスのまとめ方