2017-08-17 3 views
1

私のコマンドラインでいくつかの入力を使っていくつかの機能を実行するには、.cshrcファイルにカスタム関数を追加します。私はCシェルを使用しています。希望の結果を得るためにこれを実装したり、回避したりする方法はありますか?Cシェルの.cshrcに関数を追加する

答えて

1

Cシェルはサポート機能をサポートしていません。

コマンドラインでコマンドを入力するときに、関数をエミュレートするスクリプトを作成し、.cshrcファイルでエイリアスを使用してそれらのスクリプトを呼び出すことをお勧めします。

たとえば、csh環境でtestという新しいコマンドを定義したいとします。 だから私は今、私は私の$ {HOME}ディレクトリ(またはwhereeverあなたはそれになりたい)に.test.shスクリプトを作成し、ロジックを置く.cshrcファイルに

alias test "${HOME}/.test.sh" 

を以下の行を追加します。スクリプト内のコマンド用。

/home/abis> cat .test.sh 
#!/usr/bin/ksh 

echo $1 $2 

を、私は.test.shスクリプトに実行権限を与え、.cshrcファイルをソースでしょう(新しいログインシェルを開いたとき、それはとにかく行われます):次のように

例。

私はコマンドラインからコマンドを実行すると、実際のスクリプトが呼び出されます。

/home/abis> test "Hello" "World" 
Hello World 
+0

ありがとうございます!まさに私が探していたものです。 –

+0

こんにちは、私はタスクのための上記の答えを実装しようとしている... 1つのコマンドでディレクトリを作成し、そのディレクトリに入力します。だから私はtest.tclのようなスクリプトを書いた........... eval mkdir $ 1 \ n eval cd $ 1と私はエイリアスの助けを借りて走っています。それはディレクトリを作成しますが、2行目は動作しません...任意の入力がありますか? –

関連する問題