2016-04-29 7 views
0

自分のスクリプトにコマンドalias filecreate='touch $1'を使用して、現在の作業ディレクトリにカスタムコマンドとしてfilecreateを使用して新しいファイルを作成しました。しかし、スクリプトを実行するとエラーが表示されます。また、ファイル名とその他のパス名の2つのパラメータを受け入れるコマンドを作成するにはどうすればいいですか?カスタムコマンドの作成

+3

どのようなスクリプトですか?何のエラー? – kaylum

+0

'alias'はパラメータを受け入れることができません。パラメータを処理する必要がある場合は、関数を使用します。 – fedorqui

+0

同じ:http://stackoverflow.com/q/36859162/1098603 – Matthieu

答えて

3

alias filecreate=touch

又はその機能等価物:

filecreate(){ touch "[email protected]"; } 

は、任意の数の引数を受け入れ、touchに渡すであろう。

通常、位置の引数の展開はエイリアスに属しません。エイリアスは関数とは異なり、独自の位置引数配列を取得しません。 エイリアスは単純なテキスト展開です。

あなた

alias filecreate='touch "$1"' 

そうのように実行すると:

filecreate SomeFile 

は単に

filecreate "$1" SomeFile #$1 comes from the caller 

これは、独自の引数配列を得るのですか関数やスクリプト、異なりに拡大します。

+0

[オリジナルの質問](http://stackoverflow.com/q/36859162/1098603);)また、私はあなたがそれが "触れる" $ 1 "SomeFile' – Matthieu

+0

みなさんありがとうございました。 @ PSkocik私はfilecreateで関数を作成しました。 –

関連する問題