Space Hackを使用して提供された引数でエイリアス後続操作を実行する方法

Space Hackを使用して提供された引数でエイリアス後続操作を実行する方法

watchExpand2つのエイリアスがありますl。次のように、後ろにスペースを入れることで、bash拡張がエイリアスで機能するようにできることを知っています。

alias watchExpand='watch '

lエイリアスはls -larthiF --context.so です。コマンドを入力すると、watchExpand l魅力のように動作します。

watchExpandただし、次のコマンドにパラメータを提供すると、

watchExpand -n 1 l

私のlエイリアスはもう有効ではありません。パラメータの後にbash拡張を取得するには?

ベストアンサー1

これは私の悪い考えです。考えるあなたは以下を要求します:

function watchExpand() {
  e=""
  for param in $@
  do
    if alias $param >/dev/null 2>&1
    then
      exp=$(alias $param | cut -d= -f2| sed -e s/^\'// -e s/\'\$//)
      e+=" $exp"
    else
      e+=" $param"
    fi
  done
  watch $e
}

おすすめ記事