web-dev-qa-db-ja.com

/ binへのコマンドショートカットの追加

カスタムコマンドを/binに追加する方法はありますか?

たとえば、私はdocker container lsを頻繁に使用しており、これをdclsのようなショートカットコマンドに変換したいと考えています。

dclsという名前のファイルを/binに追加し、そのファイル内で正確なコマンドdocker container lsを指定すると、これは機能しないと思います。

もしあれば、このようなことをする正しい方法は何ですか?

8
alex067

ショートカットの簡単な方法は、aliasを定義することです

alias dcls='docker container ls'

dclsを入力するとdocker container lsが実行され、コマンドaliasは定義されたエイリアスを一覧表示します。このエイリアスを削除するには、unalias dclsを使用します。

Bashを使用する場合は、エイリアスを~/.bashrcまたは~/.bash_aliasesに保存できます。

~/.bash_aliasesが起動時に読み取られない場合は、次の行を~/.bashrcに追加できます。

[ -f ~/.bash_aliases ] && . ~/.bash_aliases
24
Freddy

あなたにとっては、エイリアスは問題ありませんが、 Linux Filesystem Hierarchy Standard によると、ローカルシステム全体のスクリプトは/usr/local/bin/ではなく/binに入ります。

  1. これは確かに/binでも機能しますが、ソフトウェアを顧客のサイトに展開する場合は特に、標準に準拠することをお勧めします。
  2. スクリプトがオプションの場合は、/optに入力する必要があります
  3. スクリプト自体は次のようになります。

    #!/bin/bash
    #
    # Version 1.0 DD 2019-05-04
    # dcls = docker container ls
    docker container ls "@0"
    if [[ $? -eq 0 ]]; then
      echo -e "Errors encountered..."
      exit 1
    fi
    
0
Fabby