タグ

shellに関するrin51のブックマーク (4)

  • bashスクリプトのベストプラクティスを調査した

    はじめに ポートのSREを担当している @taiki.noda です。 弊社で実施しているインフラ勉強会でbashスクリプトについて調査したので、今回はそれを紹介したいと思います。 まずなぜこの内容を調査したのかについて3点 bashでのシェルスクリプトは簡単に利用できるが、バグを生みやすく、可読性の低くなりやすい言語 複雑な処理は他の言語(Go, Python等)を使った方が良いが、現状色々な箇所で使われているので、メンテナンス性の高い書き方等調べたい 弊社で使われているシェルスクリプトの書き方を考慮した上で、社内で使えるテンプレートを作成・コーディング規約的なものを作ろうと思った ファイルの構成 シバンは#!/bin/shではなく#!/bin/bash 特にshを使うというわけではないなら、bashを明示する ファイルの冒頭に用途・使い方を明記

    bashスクリプトのベストプラクティスを調査した
    rin51
    rin51 2023/12/21
    while 内の変数が外から見れない問題。サブシェルで実行されるため外から見えない。
  • jq コマンドを使う日常のご紹介 - Qiita

    jq コマンドとは http://stedolan.github.io/jq/ JSONから簡単に値を抜き出したり、集計したり、整形して表示したりできるJSON用のgrepとかawkみたいなコマンドです。 WebサービスがJSONを吐いたり、AWS CLIが JSON を吐いたりする現代社会で大変便利なコマンドです。 マニュアル だいたいここ読めばOK. http://stedolan.github.io/jq/manual/ あ、これで、終わってしまう。だけど気にせず進めます。 簡単な例 まず、空気をつかみましょう。 以下jqコマンドの記法を見ていきます。JSON { "hoge": "value" } があった場合、 . がルート {} を表します。.hoge で "value" を表現します。だいたいこんな感じです。 ただの整形 しばらく下記のJSONを例に進めます。itemsには配

    jq コマンドを使う日常のご紹介 - Qiita
  • シェルスクリプトで実行したコマンドの結果の改行をそのままにする

    bash 系の話だけど, $() とかバッククオートでコマンドを実行してその標準出力を得るさいに, そのままだと改行がなくなってしまう. そんな時は全体をダブルクオートでくくれば改行を残せる $ echo $(ls -l /tmp/) total 56 -rw------- 1 kosei wheel 849 12 7 09:13 Config-pAimbL -rw-r--r-- 1 kosei wheel 23020 12 4 22:40 debug.log drwx------ 4 kosei wheel 136 12 6 00:16 launch-8y9r7a drwx------ 3 kosei wheel 102 12 1 16:28 launch-O688DH drwx------ 3 kosei wheel 102 12 1 16:28 launch-Obe9Hd drwx-

    シェルスクリプトで実行したコマンドの結果の改行をそのままにする
  • Bird-Soft Weblog: Linuxでタブ補完ができないときの対処法

    Linuxでタブ補完ができない、履歴が矢印キーで表示できない、 Tabキー、矢印キーやESCキーを押すと文字化けしたようなものが表示される・・・。 そんな困ったことがおきたので調べてみました。 ◆対策 シェルオプションが足りないらしいので、対象のものををonとする。 (例えば、以下のようにemacsをonにする) 1.set -oを実行 $ set -o allexport off braceexpand on emacs off (以下略) となっていたら、 2.set -o emacsを実行 3.set -oで確認 $ set -o allexport off braceexpand on emacs on (以下略) ⇒これでOKです。 続きにはオプションのメモ、参考リンクがあります。 ◆メモ ・シェルオプション表示:set -o ・emacsをonにする:set -o emacs

  • 1