エイリアスを無視することをお勧めしますか?

エイリアスを無視することをお勧めしますか?

alias rm='rm -i'私のファイルにあります~/.bashrc(今知っていました)悪い習慣と考える一部)。

これを実行するときにエイリアスは考慮されないようですnice

bli@naples:~$ touch test
bli@naples:~$ rm test
rm: remove regular empty file 'test'? n
bli@naples:~$ nice rm test
bli@naples:~$ 

なぜこれが起こるのですか?

ベストアンサー1

デフォルトでは、niceこれは外部コマンドです。

$ command -v nice
/usr/bin/nice

これは、シェル機能であるエイリアスについて知らないことを意味します。

$ alias foo='echo hello'
$ foo
hello
$ nice foo
nice: foo: No such file or directory

ただし、シェルにはエイリアシングを許可する機能があります。返品より多くのエイリアスに拡張されました。拡張は空白で終わります。

$ alias nice='/usr/bin/nice '

最後のスペースを見つけることが重要です。

今...

$ nice foo
hello
$ command -v nice
alias nice='/usr/bin/nice '

シェルにエイリアス拡張を実行させるには、すべての外部コマンドをそのエイリアスでラップできます。

おすすめ記事