cd
私は ~/.bash_aliases ファイルの大ファンであり、ディレクトリに変更したときにそのディレクトリの内容を自動的に一覧表示するコマンドを取得しようとしています。
.bash_aliases ファイルに を入れて、alias cd='cd $1 && ls .'
ファイルを保存し、ファイルをソースとして読み込みました。 を実行すると、cd /
期待どおりの出力が得られますが、ディレクトリは変更されません。ホーム ディレクトリに留まります。
どのような助けでも大歓迎です。
答え1
エイリアスはコマンド ライン引数を使用しないため、エイリアスを使用してこれを実際に実行することはできません。
これは、シェル関数と、 と呼ばれる組み込みコマンドを使用して実行できますcommand
。command
コマンドは、関数ではなく、組み込みバージョンのコマンドのみを使用するようにシェルに指示しますcd
。これは、関数の再帰を回避するために必要です。
cd() {
command cd "$1" && ls
}