私が望むのは、コマンドが成功した場合に関連情報を印刷するコマンドを作成することです。たとえば、別名を次のように定義すると、
alias cd='cd /path/to/destination/ && echo "changing directory to echo $(pwd)"'
その後、実行するとcd
端末が印刷されますchanging directory to /path/to/destination/
。ただし、このソリューションでは、commandで定義されているフラグを使用することはできませんcd
。上記と同様に動作しますが、基本コマンドに対してもともと定義されたすべてのフラグを受け入れるコマンドを定義したいと思います。 、mkdir
およびについてこれを行う予定です。cp
rm
答え1
スクリプトまたは関数でラップします~/.bash_profile
。
たとえば、次のようになりますmycmd.sh
。
#! /bin/bash
your "$1"
commands "$1"
shift
the_original_command "$@"
機能:
mycmd() {
your "$1"
commands "$1"
shift
the_original_command "$@"
}
次のような複数のパラメータを使用する必要がある場合
your "$1"
commands "$2"
shift 2
、3、4、5などを使用してください。
したがって、次のようになります。
your "$1"
commands "$2"
shift 2
the_original_command "$@"
答え2
Bash構成ファイル(~/.bashrc
)に次のコマンドを追加した後、シェルを再起動できます。
function cd_echo() {
cd "${@}";
echo "Changing directory to $(pwd)";
}
alias cd="cd_echo";
テスト結果:
$ cd /home
Changing directory to /home
$ cd -P /dev
Changing directory to /dev