7

入力したコマンドラインに正確にアクセスする方法はありますか?

(変数展開OK後)

以下を達成するために私が考えることができる唯一の方法です:

myscript.sh file1 file2 file3 -m"A multi word comment" [other parameters/options]

-- そしてスクリプト内で効果的に呼び出す --

svn commit file1 file2 file3 -m"A multi word comment" [other parameters/options]

-- コマンドラインを理解するためだけに、svn 自体が行うすべての解析を複製する必要はありません

(私が抱えている問題は、この例では、$4 が「-mA マルチワード コメント」になり、整理するのが面倒になることです。むしろ、コマンド ライン全体、引用符、すべて、svn が見たいと思う方法とまったく同じように svn に直行します。)

誰かが svn の「ラッパー」を書くためのより良い方法を知っているなら、私もそれを聞きたいです。

4

3 に答える 3

12

スクリプトで試しましたか:

svn commit "$@"

説明:

  • $@$1 から始まる、シェルへのすべての引数を含む特別な変数です。
于 2012-11-22T22:07:50.713 に答える
2

内部では、次のことができます。

svn commit "$@"

それがどのように入力されているかを正確に確認することに関しては、いいえ。わかりません(パラメーター間の1つと2つのスペースに注意a ba bてください—うーん、SOでも2番目のスペースが隠されていると思います;))。しかし、その必要はありません。

于 2012-11-22T22:07:45.070 に答える
0

スクリプト自体がパラメータを必要としない場合、別の方法は次のようにエイリアスを使用することです。

alias commit='code_check && svn ci'

(ここで、code_checkは、svn commitの前に実行するスクリプトまたは関数です)

その後、電話をかけることができます

commit file1 file2 file3 -m"A multi word comment" [other parameters/options]

エイリアス展開により、行が次のようになります

code_check && svn ci file1 file2 file3 -m"A multi word comment" [other parameters/options]
于 2012-11-23T01:21:02.167 に答える