端末でコードを実行できますが、同じコマンドをシェルスクリプトで実行するとエラーが発生します。

端末でコードを実行できますが、同じコマンドをシェルスクリプトで実行するとエラーが発生します。

私はUnixとシェルスクリプトに初めてアクセスし、端末でコードを実行できますが、シェルスクリプトで実行すると同じコマンドを実行するとエラーが発生します。

#!/bin/bash
diff <((sort doc1) <(sort doc2)) | grep -x '.\{6\}' >sample.txt

シェルを実行すると、次のエラーが発生します。

/App$ sh filediff.sh 
filediff.sh: 4: filediff.sh: Syntax error: "(" unexpected

ベストアンサー1

通常のシェルでdiffコマンドを実行すると、現在のシェル(主にbash)を使用します。

スクリプトにbashシェルを使用しようとしていますが、 "shfilediff.sh"を使用してスクリプトを呼び出すと、bashとは少し異なるsh-Shellが呼び出されます。

以下を使用してスクリプトを呼び出すことができます。

bash filediff.sh

または実行可能にする

chmod +x filediff.sh

そして電話してください

./filediff.sh

おすすめ記事