2012-04-12 3 views
1
に引数を挿入

可能性の重複:
Shell Script: How to pass command line arguments to an UNIX alias?バッシュプログラミングは、bashのエイリアス

がどのように私はbashのエイリアスに引数を挿入していますか?例えば

、 私はそれにほとんどの時間を新しいディレクトリ& I cdを作成するが、そのために、私は2つのコマンドを実行する必要がありますいつでも。単独のコマンドでそれを新しいディレクトリ&スイッチを作成することが可能である場合

$ mkdir directory 
$ cd directory 

ので、私は思っていました。私の.bashrcファイルに次の別名を追加しようとしました:

alias mkdir="mkdir [email protected] && cd [email protected]" 

ので、私は通常、mkdir directory &それがそのディレクトリに切り替え、その後&を作成し、それを呼び出すことができます。しかし、サイコロ、それは動作しませんでした!

エイリアスに引数を挿入するにはどうすればいいですか?

+0

[これを行う方法はありません](http://stackoverflow.com/questions/1821495/how-do-i-include-parameters-in-a-bash-alias) – l0b0

+0

このように見えます:http://stackoverflow.com/questions/941338/shell-script-how-to-pass-command-line-arguments-to-an-unix-alias – lucrussell

答えて

4

これを関数として定義することを検討してください。

function mkdir2 { 
    mkdir [email protected] 
    cd [email protected] 
} 

このようにmkdirにエイリアスすることはできませんが、期待通りに動作します。

+0

関数名はmkdirしかし、あなたはそれを再帰的に呼び出すことはできません:mkdir(){command mkdir $ 1; cd $ 1; } –

+0

わずかな改善 - 引用符で囲まれた引数で、mkdirが失敗した場合はcdしないでください: 'function mkdir {command mkdir" $ @ "&& cd" $ @ "; } ' –

関連する問題