タグ

bashに関するUdonHamのブックマーク (9)

  • シェルスクリプトで配列を扱うための基礎知識 - eTuts+ Server Tutorial

    配列を宣言・初期化するためには、以下のようにします。 fruit=() のように配列を宣言するfruit[0]="apple" のように 1つの要素を 1行単位で宣言・初期化するfruit=([0]=apple [1]=banana [2]=orange) のように宣言・初期化するfruit=(apple banana orange) のように宣言・初期化するdeclare -a fruit=(apple banana orange) のように宣言・初期化する declare について declare -a は、変数を配列として明示的に宣言する際に使います。 ・ declare -a : 変数を配列として宣言 ・ declare -i : 数字型変数として宣言 ・ declare -r : 読み取り専用変数として宣言 例えば、読み取り専用の数字型配列を宣言したいときには、以下のようにします

    シェルスクリプトで配列を扱うための基礎知識 - eTuts+ Server Tutorial
    UdonHam
    UdonHam 2019/07/11
    配列について結構細かく記入されていてわかりやすい。
  • シェルスクリプトのテストフレームワーク Bats を試してみた - kakakakakku blog

    シェルスクリプトのテストフレームワーク Bats を試してみた. github.com たまにコントリビュートをしている Amazon ECS (Elastic Container Service) のデプロイツール ecs-deploy のテストコードで Bats が使われているので,少し書いたことがあり,もっと詳しく調べてみようと思った. github.com Bats は現在もメンテナンスされている もともとの Bats は sstephenson/bats にあり,現在は bats-core/bats-core に移っている.以下の Issue などを読むと,コミュニティの動きがわかる. github.com github.com インストール Bats は様々なインストール方法がある.まず,用意されている install.sh を試してみた. $ git clone git@gi

    シェルスクリプトのテストフレームワーク Bats を試してみた - kakakakakku blog
    UdonHam
    UdonHam 2018/05/15
  • bash ini parser – The old school devops

    In some situations i like to use INI files as configuration files, as python do. But bash do not provide a parser for these files, obviously you can use a awk code or a couple of sed calls, but if you are bash-priest and do not want to use nothing more, then you can try the following obscure code: Update:Added support spaces between keys and values, described in comment #364 Update:Added a writer

    bash ini parser – The old school devops
    UdonHam
    UdonHam 2018/02/19
  • Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね

    Bashでスクリプトを書く際によく自分が使っている小技や関数などです。 またBashでは他のプログラミング言語以上に$や:などの記号の使い方が独特でググラビリティが低いので、基文法などもチートシートとしてまとめておきます。 基文法 変数と配列 制御構文 while for-in if - elif - else if文のone-liner 文字列比較 文字列が等しい (=) 文字列が等しくない (!=) 空文字、文字列長が0 (-z) 空文字でない、文字列長が0でない (-n) 数値比較 数値が等しい (-eq) 数値が等しくない (-ne) 数値がより小さい (-lt) 数値がより大きい (-gt) ファイルの判定 存在する (-e) ファイルである (-f) ディレクトリである (-d) シンボリックリンクである (-L) 関数 便利なスニペット 実行スクリプトがあるディレクトリを

    Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね
    UdonHam
    UdonHam 2018/01/21
  • シェルスクリプトの代わりにPythonを使う - オープンソースこねこね

    これまで、開発や運用時に使う、ちょっとしたコマンドラインツール、自動化スクリプトは、主にBashのシェルスクリプトで実装していたのですが、最近このような用途にはPythonを使うようにしています。 Bashスクリプトへの不満 スクリプトの実装方針 ポータビリティ重視のための縛りPythonプログラミング Tips __future__モジュールでバージョン2、3両方に対応させる バージョン2、3で異なるモジュールを、同じ名前で読み込む バージョン2、3を判別する関数を用意する よく使うスニペット 文字に色をつける 赤い文字でエラーメッセージを出力して終了する 外部コマンド実行する テキストをファイルに出力する ファイルに実行権限をつける スクリプトの同時、多重起動防止する コマンドライン・オプションの解析 HTTPリクエスト まとめ Bashスクリプトへの不満 Bashのスクリプト実装にお

    シェルスクリプトの代わりにPythonを使う - オープンソースこねこね
  • プロンプトの戯れ

    B! 10 0 2 0 最近色々.bashrcだとか整理している時に、プロンプトの表示を変更しようと思い、 結局何が必要なのか考えたのですが、 普通、ディレクトリ名やユーザー名、ホスト名などを入れていると思いますが、 普段はGNU screenを使っていて、 常に各領域にディレクトリパスも表示させてるので、プロンプトに情報を表示 させとく必要が特に無いわけです。 そこで、プロンプト表示でちょっと遊んでみました。 これまでのプロンプト 顔文字にしてみる ランダムに顔を変えてみる これまでのプロンプト ここではbashでの話です。 プロンプトはPS1というシェル変数を変更してやることで表示を変えてやることが出来ます。 手元の環境だと、デフォルトでは/etc/bashrc内で次のように設定されています。 # System-wide .bashrc file for interactive bas

    プロンプトの戯れ
    UdonHam
    UdonHam 2017/04/24
  • 割りと便利だけど微妙に忘れがちなbashのコマンド・チートシート - Qiita

    自分用にメモしておく コマンド実行 CMD1; CMD2, CMD1 && CMD2 ;はCMD1の結果に関わらずCMD2も実行される &&はCMD1の結果が正常な場合のみCMD2が実行される CMD1 || CMD2 - 失敗時に後続コマンドを実行する CMD || printf "%b" "MSG"でエラーメッセージを表示する エラーメッセージ表示後exit 1したい場合 = CMD || { printf "%b" "FAILED.\n" ; exit 1 } CMD || printf "%b" "FAILED.\n" ; exit 1と波括弧無しで書くと期待通り動作しない(CMDが成功時もexit 1してしまう) CMD & - バックグラウンド実行 CMD &で[1] 4592のようにジョブ番号とプロセスIDが表示される killしたければkill %ジョブ番号 か kill

    割りと便利だけど微妙に忘れがちなbashのコマンド・チートシート - Qiita
  • shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる

    シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ

    shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
    UdonHam
    UdonHam 2015/09/21
  • 1