たとえば、~/.bashrc
ファイル(またはそれに対応する項目)で見た一般的なエイリアスは次のとおりです。
alias rm='rm -i'
しかし、私は人々がこれを拒否するのを見ました。
- 他のシステムにはエイリアスがない可能性があり、注意していないため、誤って
rm
重要な項目を削除しました。[1] - このエイリアスを使用すると、本質的にすべてのコマンドの後にorを入力するように自分自身を訓練します。
y
これは全体的な目的を無効にします。yes
rm
これに反対する他の理由はありますか?一部のプログラムがrm
呼び出すのではなく、単に呼び出して\rm
エイリアスを使用すると問題が発生する可能性がありますか?
私はrm
これを単に例として使用していますが、別名cp
やmv
別名で覆われたコマンドなどの他のコマンドも見たことがあります。個人的には、次のエイリアスを使用するようにゆっくりと訓練していますrm -i
。
alias trash=`mv -v -t $HOME/.Trash`
ベストアンサー1
bashを使用すると仮定すると、非対話型bashシェルはorを取得できないため、スクリプトに問題はあり~/.bashrc
ません~/.bash_profile
。スクリプト)。ただし、スクリプトをソーシングすると問題が発生する可能性があります。
$ alias echo='command echo foo'
$ cat > script << 'EOF'
> #!/bin/bash
> echo bar
> EOF
$ chmod a+x script
$ ./script
bar
$ . ./script
foo bar
あなたの質問は、既存のコマンドのエイリアシングに関する一般的な問題のほとんどをカバーしています。主な問題は、一見同じように見慣れない状況が大きく異なる結果を生み出す可能性があることです。たとえば、エイリアスrm
toはrm -i
良い意図を持っていますが、実際にはあなたが言及した理由のために悪いです。