.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
}