Linuxでのシェルエイリアスと関数の操作


aliasは特定の命令を実行するためにLinux端末にコマンドを渡すのを助けます.
Linux端末は非常に機知に富んでおり、このようなエイリアスを利用することは、開発者としての生産性を大きく向上させる可能性があります.
私は3つの単語の上にまたがるどんなコマンドにもエイリアスを使用します、私を非難しないでください、私がなぜ同じコマンドセットを表す2つの手紙で通ることができたとき、私はなぜ長い単語のタイプを気にかけるべきですか?
現在、コードを書くとき、コマンドを短くすることのファンでないかもしれません、しかし、あなたが長いコマンドを覚えているようにしようとしているとき、エイリアスは非常に役に立ちます.
例えば、PythonプロジェクトでUnitTestを実行しようとするときはいつでも使います.alias test="python -m unittest"あなたはそれがはるかに短くなって表示することができますし、繰り返しすべてを入力するのストレスを私に保存します.

エイリアスの作成


エイリアスの作成はかなり直進ですが、通常はユーザ定義のエイリアスを作成することができます.BASHRCまたは.私は個人的に使用することをお勧めします.簡単な組織と参照のためのbashrcファイル.
エイリアスを追加するための構文は以下の通りです.sudo nano ~/.bashrcalias name=commandエイリアスを作成するには、aliasコマンドで指示しなければなりません.

フラグのエイリアスでの作業


フラグは、特定の目的を実行するためのコマンドに沿って渡される省略可能な引数です.
たとえば、あなたはlsコマンドを使用してディレクトリ内のファイルのリストを出力することができますls -als -la似ているが、特定の出力を得るために.
フラグは通常、-または--シンボルを伴っており、それらが任意であることを示す.
Linuxでのエイリアスを扱うときには、2つの一般的なフラグがあります.

  • \- p flag :ユーザ定義のエイリアスを再利用可能な形式で出力する.
    共通ユースケースalias -pどの収益
  • alias pip='pip3'
    alias pip2='pip'
    alias push='git push -u origin master'
    alias py='python3'
    alias python2='python'
    alias run='go run'
    alias runapp='python manage.py runserver'
    alias test='python -m unittest'
    alias weather='curl wttr.in'
    
    私のパソコンでは、
    もう一つの一般的な旗は

  • --ヘルプフラグ:ヘルプページを返します.
    走るalias --help収穫
  • $ alias --help
    alias: alias [-p] [name[=value] ... ]
        Define or display aliases.
    
        Without arguments, `alias' prints the list of aliases in the reusable
        form `alias NAME=VALUE' on standard output.
    
        Otherwise, an alias is defined for each NAME whose VALUE is given.
        A trailing space in VALUE causes the next word to be checked for
        alias substitution when the alias is expanded.
    
        Options:
          -p    print all defined aliases in a reusable format
    
        Exit Status:
        alias returns true unless a NAME is supplied for which no alias has been defined.
    

    エイリアシング


    Unaliasingは基本的に定義されたエイリアスを削除します.したがって、コマンドはエイリアスを通して到達できません.
    実行するコマンドをunaliasできます.unalias commandNameたとえば、上記のエイリアスリストを実行してプッシュすることはできません.unalias pushもう一度端末を押してみると、
    $ push
    bash: push: command not found
    
    明らかに、これは一度として永久でありません*.bashrc * chenファイルは再びターミナルメモリに再ロードされます.
    エイリアスを永久に削除するには、. NET Frameworkを編集する必要があります.bashrcファイルと特定のコマンドを消去します.

    シェル関数を使用したエイリアスへのパラメータの追加


    わかってる!このコマンドは正しく発音されません.エイリアスは通常の定義済みフラグを無視してパラメータを受け付けません.
    では、どのように我々は我々のエイリアスに引数を渡すしたい場合について行きますか?
    例えば、私は通常エイリアスを好むbuild NameOfExedir/NameOfExeを入力するよりむしろGalang実行可能ファイルを構築するgo build -o NameOfExedir/NameOfExe -v .だから私はむしろbuild bin/myprojectの代わりに、go build -o bin/myproject -v .このような状況では、関数の使用を適用しますが、関数は現在の議論のトピックのコンテキストから外れているかもしれませんが、エイリアスを使用する場合には非常に便利です.
    関数はLinuxのコマンドで、関数やメソッドを作成するために使用します.多くのプログラミング言語のように、関数は命令セットを実行するコードの再使用可能な塊です.
    関数を宣言できる2つの方法があります.bashrcファイル
    関数のキーワードを使用する
  • :関数の名前を指定する前に、関数のキーワードを使用して関数を定義できます.
    構文function build { }
  • 括弧を使用する
  • :関数は、その関数の隣に括弧付きの関数名を使用して定義することもできます.
    構文build() { }
  • シェル関数の操作に関する詳細はhelp functionを実行してください.
    上記のgobuild質問に戻ってください;
    Go - build機能を実行する別名を作成し、追加のパラメータを解析する関数を使用します.それでalias gobuild="go build -o "それから:
    build(){
            gobuild "$1" -v .
            echo "Finished building project executable"
    }
    
    それで、私が走るとき、build bin/myproject私は得る
    $ build bin/myproject
    Finished building project executable
    
    
    そして、私がls | grep 'bin'を走らせるとき
    $ ls | grep 'bin'
    bin
    
    あなたは私のプロジェクトの実行可能ファイルを含んでいるバイナリフォルダがあるのを見ることができます.これは、このビルド関数を使用することができます.

    結論


    この短い記事では、エイリアスと関数を使用して開発プロセスを最適化する方法を見てきました.
    私はあなたが記事を楽しんで、その間、私はあなたが記事について何を考えて、私はそれを読んで、おかげで素晴らしい時間をユーザーの経験を改善するためにできる可能性があります任意の修正プログラムを教えてください!