次の有効なコマンドがあります。
ls -la | awk '$5 > 2'
私はすべてのもののエイリアスを見つけようとしています。素朴な方法を試してみると、次のようになります。
alias ll "ls -la | awk '$5 > 2'"
これはうまくいきません。
ドル記号を避けようとすると、コマンドの一部のみが表示されますll
。ls -la | awk $5
このエイリアスを目的の方法で定義するにはどうすればよいですか?
答え1
エイリアスが単純なコマンドよりも複雑な場合は、シェル関数を使用してください。
lz () {
ls -la | awk '$5 > 2'
}
...またはエイリアスでよりシンプルで適切なコマンドを見つけます。
alias lz='find . -maxdepth 1 -size +2c -ls'
マニュアルにはbash
次の内容が含まれています。
ほとんどすべての目的で、エイリアスはシェル関数に置き換えられます。
答え2
脱出、平等
$ alias ll="ls -la | awk '\$5 > 2'"
$ alias|grep ll
ll='ls -la | awk '\''$5 > 2'\'