ls -aをls -Aにマッピングする

ls -aをls -Aにマッピングする

私は一つを作ってみましたが、alias ls -a = ls -A最終的に次のように終わりました。

bash: alias: `ls -a': invalid alias name

ls -aいいえが.欲しいです..。どうやって入手できますか?

答え1

このようなエイリアスは使用できません。エイリアスは、引数なしで呼び出すことができる単一の名前です(すべての引数は変更なしでaliasコマンドに直接渡されます)。

あなたが直面している問題を解決するための私の提案は、次のように関数を使用してエイリアスを指定することですls

_ls() {
      if [[ "$1" == "-a" ]]; then
          shift
          ls -A "$@"
      else
          ls "$@"
      fi
}
alias ls=_ls

この方法はls -a影響を受けるため(-a最初の場所に単独で配置する必要があるため)、他の場所に-a配置するか、他のオプションと一緒に収集して「標準」にアクセスし続けることができます。

ls -a              # modified '-a'
ls -a -l /tmp      # modified '-a'
ls -al             # not modified
ls -l -a /tmp      # not modified 

関連情報