単一文字の bash エイリアスを使用しないでください。

単一文字の bash エイリアスを使用しないでください。

私はしばしば単一文字のエイリアスを作成することを発見します。なぜなら、エイリアスは入力時間を節約するために存在するからです。これを避けるべきかどうか疑問に思います。どんな紛争も知らない。

ベストアンサー1

避けるべきこと:

  • 単一文字名を使用する標準または一般的なコマンド:(wログインユーザーアクティビティを表示)、X(X Window System Server)、R(Rプログラミング言語ソルバー)、[(に似ていますtest
  • シェルまたは汎用シェルに組み込まれている関数:[、、、、、、.:-r
  • シェルキーワード:{、、、}!
  • ?*ワイルドカード
  • シェル構文の特殊文字:`"$&();'#~|\<>、(一部のシェルにもあります^%、SPC、TAB、NL(および一部のシェルの他のスペース)
  • ASCII以外の文字は使用しないことが最善です(これらの文字はロケールによってエンコードが異なるためです)。
  • 制御文字(上記のTABおよびNLを除く)は入力が容易ではなく、状況によっては常に表示されないか、または異なるように表示されるため、使用しないことをお勧めします。 NUL文字zshに対してのみエイリアスを定義して使用できます。 (バイト値が1の制御文字)のエイリアスを定義できますが、bash明らかに使用しません。^A

単一文字名でコマンドを検索するには:

  • bash:(compgen -c | grep -x . | sort -uコマンド名に改行文字が含まれていないと仮定すると、キーワードも含まれます。)

  • zsh:(type -m '?'またはtype -pm '?'機能/エイリアス/組み込み機能/キーワードが必要ない場合)。

  • Debian または派生製品: パッケージ内の単一文字名のコマンドを探します。

    $ apt-file find -x '/s?bin/.$'
    coreutils: /usr/bin/[
    e-wrapper: /usr/bin/e
    python3-q-text-as-data: /usr/bin/q
    r-base-core: /usr/bin/R
    r-base-core: /usr/lib/R/bin/R
    r-cran-littler: /usr/bin/r
    r-cran-littler: /usr/lib/R/site-library/littler/bin/r
    wims: /var/lib/wims/public_html/bin/c
    xserver-xorg-core: /usr/bin/X
    

おすすめ記事