あなたの端末経験を強化するためにbashショートカットスクリプトを書く方法


私はショートカットが大好きです.私が人間の歴史で最も衝撃的な発明を選ばなければならなかったならば、それはCtrl + CとCTRL + Vです.
洞穴に住んでいるのは、私が長い間、端末を使うことについて感じたことです.すべてはとてもハードでしたが、そう感じました..同時に魔法.ある日、私は繰り返し私のキーボードをバッシング、私のクラブを置くと、bashを学んで疲れて、私の最初のスクリプトを作った.
今、親愛なる読者は、火の周り(比喩的に)を収集し、私はあなたに石の年齢から2021年に私を得たショートカットのbashスクリプトを書くための私のアプローチについて教えてください.
(*)このポストで見るコマンドはmacで実行されます.WindowsまたはLinuxを使用している場合は、コマンドを少し調整する必要があります.
(** )私は騎兵について言及します.

🧐 何バッシュ?


bashは、ユーザーが特定の動作を行うようにコンピュータに指示するテキストコマンドを入力することができますコマンド言語です.MacとLinuxは通常bashがインストールされています.
Mac上でアプリケーションのユーティリティに行く場合は、端末と呼ばれるアプリが表示されます

ターミナルを開いてください、そして、あなたは白いテキストで黒いウインドウを見ます-ちょっとハッカーがテレビで使うもののように.これはコマンドラインインターフェイス(CLI)で、テキストコマンド(bashコマンドやスクリプトを含む)を実行できます.

🛠 基本から始める


以前に見たことがあります.
# This is an example, do not execute this command.
$ yarn install
この場合、yarn がコマンド名install が最初のパラメータです.私たちのbashコマンドは、同様の方法で動作します.私たちにとって、以下のコマンドを実行するなら、Netflixをブラウザで開きます.
# Hell yea - a shortcut to watch Netflix. I'm down!
$ ss tv nf
(*)コマンドを実行すると、コマンドを端末に入力し、return/enterキーを押します.
次のコンテンツで新しいファイルを作成しましょう
#/bin/bash

function ss() {
  echo "Hello World"
  return 0
}
ノート
  • このファイルはスクリプトと呼ばれます.
  • 関数の名前はss コマンド名を短くしたいので(結局はショートカットスクリプトです).
  • あなたはどこでもこれを保存することができますが、私は通常すべてのカスタムスクリプトを保存します~/bin . 我々のスクリプトのために、我々はそれを保存することができます~/bin/ss.sh .
  • #/bin/bash オペレーティングシステムは、このスクリプトを実行する方法を知っているので、bashを使用する必要があります.
  • この関数を実行すると、端末に"Hello World "を出力します.
  • return 0 コマンドが正常に動作していることを端末に伝えます.
  • 🚗 スクリプトの実行


    通常、スクリプトにパスを入力し、return/enterを押すとスクリプトを実行しようとすると、許可を持っていないということになります.

    😤 うーん、私は育ったロバ人です.誰も、何も“許可を拒否することができます”このような私.これを解決する方法を見つけましょう.
    この時点で、スクリプトパーミッションを使用して回避できますが、多くの理由でスクリプトのソースを好みます.
  • スクリプトのアクセス許可を更新する必要はありません.😌
  • 関数名.ss コマンド名として使用できます.🥰
  • スクリプトはその場所に関係なく動作します.😍
  • あなたの最後に次の行を追加することができます~/.zshrc or ~/.bashrc ファイル
    source ~/bin/ss.sh
    
    これを実行すると、スクリプトを将来開いている端末にロードしますss コマンドを直接.
    さて、新しい端末を開くss コマンドプロンプトに、return return/enterを押します.

    ✂️ ショートカットの作成


    今私たちは楽しい部分になる!私たちは、コマンド名の後に来るパラメタをチェックして、我々が取りたい行動に彼らを割り当てたいです.例えば、スクリプトを次のように更新することができます.
    #/bin/bash
    
    function ss() {
      case $1 in
        "open")
          vi ~/bin/ss.sh
          return 0
        ;;
        "tv")
          case $2 in
            "nf")
              open https://www.netflix.com/
              echo "Opening Netflix"
              return 0
            ;;
            "az")
              open https://www.primevideo.com/
              echo "Opening Amazon Prime"
              return 0
            ;;
            *)
              open /System/Applications/TV.app
              echo "Opening Apple TV"
              return 0
            ;;
          esac
    
        ;;
      esac
    
      echo "\nERROR - Invalid command\n"
      return 1
    }
    
    ここではかなり心配しますが、心配しないでください.
  • 複数あるBash case statements , 各開始case アンドエンディングesac .
  • $1 and $2 は最初のパラメータと2番目のパラメータ(スクリプト名の後に来る)です.
  • 実行されると、この関数は最初のパラメータがopen or tv . それがtv , それは自分のcase文に入り、2番目のパラメータを踏んで、nf or az . *) 他のすべてのオプションをキャッチすることです.
  • 正しい組み合わせが見つかったら、それぞれのブロック内のコードを実行します.
  • を返します.return 1 が実行され、エラーが発生したことを端末に伝えます.
  • つまり
  • 最初のパラメータがopen , 私たちはvi ショートカットファイルを変更するコマンド.新しいスクリプトの読み込みに変更を加えた後、新しい端末を起動してください.
  • 最初のパラメータがtv 2番目のパラメータはnf , それはデフォルトのブラウザでnextflixを開きます.
  • 最初のパラメータがtv 2番目のパラメータはaz , これは、デフォルトのブラウザでアマゾンの素数を開きます.
  • 最初のパラメータがtv そして、2番目のパラメータは何か(2番目のパラメータを含む)、それはApple TVアプリを開きます.
  • 新しいbashスクリプトを開いて、次のコマンドを実行してみてください.
    $ ss tv nf
    
    Netflixを新しいブラウザで開き、おめでとう!最初のbashショートカットスクリプトを作成しました.🎉
    上記のコマンドはかなり簡単ですが、各ブロックにコマンドを追加できます.私が使用する別のスクリプトでは、5つの6つのウェブサービスを1つのコマンドで私のラップトップ上でローカルに起動します.つまり、10000 %の生産性の増加.または何か.ええ.😎
    無効なコマンドを入力すると、エラーメッセージが表示されます.

    🍕 ボーナス-あなたのスクリプトにPizzazzを加えてください


    エラーメッセージは、ちょうど悪意があります.私がコマンドに失敗するならば、私は私のコンピュータから激励を望みます.同じように感じると、スクリプトを次のように更新します.
    #/bin/bash
    
    function sayStuff(){
      stuff_to_say=("You may have a fat finger but you also have a freaking fat heart." "Take a deep breath and try again man. You got this!" "You will stop sucking one day." "Your command is invalid. But you are valid.")
      length=${#stuff_to_say[@]}
      random=$$$(date +%s)
    
      random_stuff=${stuff_to_say[$random % $length + 1]}
    
      echo "\nERROR - Invalid command"
      echo "$random_stuff\n"
    }
    
    function ss() {
      case $1 in
        "tv")
          case $2 in
            "nf")
              open https://www.netflix.com/
              return 0
            ;;
            "az")
              open https://www.primevideo.com/
              return 0
            ;;
            *)
              open /System/Applications/TV.app
              return 0
            ;;
          esac
    
        ;;
        "open")
          vi ~/bin/ss.sh
          return 0
        ;;
      esac
    
      sayStuff
      return 1
    }
    
    sayStuff は、無効なショートカットの組み合わせを入力するたびにあなたを応援するいくつかの与えられた引用符のいずれかを選択する関数です.私にとって、いくつかの攻撃的なポジティヴは正確に試みることです.
  • 太った指を持っているかもしれませんが、脂肪のような心臓があります
  • 「深呼吸して、もう一度やってみて.」
  • 「一日吸うのはやめましょう」
  • 「あなたのコマンドは無効ですが、有効です.」

  • 🙏 概要


    bashのショートカットスクリプトを書くだけでなく、あまりにも多くを入力するから自分自身を保存するスクリプトに慣れて取得するには楽しい方法です.あなたの毎日のワークフローを簡単にする他の方法がありますか?私はあなたから聞いてみたい.🙂
    完全なコード例はgithubにあります.https://github.com/eddeee888/topic-simple-bash