0

スクリプトの実行方法: sh Calculator.sh 1 + 2 * s\(4\)

s(x) は x の正弦です

今、私はこのようなことをしたい: sh Calculator.sh 1 + 2 * s(4)

そして、これは私にエラーを与えます: bash: syntax error near unexpected token('`

私を助けてください。

4

2 に答える 2

3

引用符を使用しますか?

sh Calculator.sh "1 + 2 * S(4)" 
于 2013-10-21T01:21:58.787 に答える
1

*括弧 (および、およびその他のシェル メタ文字) をスクリプトに渡すには、それらを引用またはエスケープする必要があります。シェルが のようなコマンドを検出すると、最初の単語を調べてどのコマンドが実行されているかを判断する前にsh Calculator.sh 1 + 2 * s(4)、コマンドを解析して実行します (ファイル名のリストに置き換え*たり、括弧で混乱するなどの処理を行います) 。表示されているエラーは、スクリプトが開始されるずっと前に発生するため (実際には、スクリプトが開始されなくなります)、スクリプトでこれを回避するためにできることは何もありません。

シェル コマンドは、シェル構文に従う必要があります。コマンドの例外を作成する方法はありません (つまり、シェル プログラム自体を編集する以外に)。

于 2013-10-21T02:51:03.290 に答える