.zshrc で ack-grep エイリアスを使用したい。私のエイリアスは次のようになります。
alias 'ack'='ack-grep -C -i -G --match'
しかし、私が必要とするのは、これから文字列を配置することです:
% ack string1 string2
中身
alias 'ack'='ack-grep -C -i -G string1 --match string2'
これを作る方法は?
アップデート
動作したコードは次のとおりです。
ack() {
case $# in
1) args="$1";;
2) args="$1 -G $2";;
*) args="$@";;
esac
eval "ack-grep -iC $args"
}
私の場合eval
、複数の変数を使用するために使用する必要があります。
更新 2
セキュリティ上の問題のない更新されたコード:
ack () {
if (( $# == 2 )); then
ack-grep -iC "$1" -G "$2"
elif (( $# == 1 )); then
ack-grep -iC "$1"
else
echo 'Sorry, function works only for one and two params. In other case use ack-grep. Reread .zshrc'
fi
}