0

私は悪い問題を抱えています、そしてあなたが私にいくつかのアイデアを与えてくれることを願っています!:)

私がやりたいこと:

スクリプトのユーザー引数を読むだけです。

何が問題ですか:

特殊文字

説明させてください:

スクリプト名:testscript

ユーザーがtestscript-ffilename.txtと入力すると、名前が出力されます。とても簡単。

ただし、ユーザーが次のように入力すると、シェルでは機能しません:testscript -f file(somethings)name.txtしたがって、特殊文字がある場合は、常にsh:エラーがスローされます。

動作中:ユーザーが次のように記述した場合に動作します:testscript -f'filename(something).txt'

と ' '

しかし、これは不便であり、多くの場合、人々はそれを書かなければならないことを忘れます。

誰かが私に何ができるか考えていますか?

引数を取得して、最初と最後に'と'を追加することを考えましたが、シェルエラーが最初かどうかはわかりません。

そうでなければ、誰かがアイデアを持っていますか!?

ユーザー入力を許可して()を削除する前に、ファイル名のどこかに()があるかどうかを確認することはできますか?

4

1 に答える 1

1

残念ながら、ここではプログラムで実際にできることは何もありません。ユーザーに表示されるエラーは、プログラムが実行される前に、シェルから発生します。

于 2012-11-28T19:53:46.420 に答える