Nothing Special   »   [go: up one dir, main page]

タグ

shellに関するdiary193のブックマーク (8)

  • コマンドラインがさらに便利になるfillinコマンドを作りました! - プログラムモグモグ

    fillinというコマンドラインツールを作成しました。 コマンドの一部を変数化して、別の履歴に保存しておけるツールです。 ステージング環境と番環境のように、同じコマンドで複数の環境を切り替えるのに便利です。 zshの (エッセンシャルソフトウェアガイドブック) 作者:広瀬 雄二発売日: 2009/06/17メディア: 単行(ソフトカバー) どうして作ったの コマンド履歴って便利ですよね。 私はよくコマンド履歴からコマンドを選んで実行しています。 シェルに付属しているデフォルトの履歴を使っている方もおられるでしょうし、fzfやpecoのようなインタラクティブな絞り込みを行なっている方もいるでしょう。 私が一番困っていたのが、認証キーの扱いです。 webアプリを作っていてcurlで素早く確認するときに、認証キーやアクセストークンを打つことがあります。 アクセストークンのようなランダムな英

    コマンドラインがさらに便利になるfillinコマンドを作りました! - プログラムモグモグ
  • bashでjqを使ってJSONの配列をループさせる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    bashでjqを使ってJSONの配列をループさせる - Qiita
    diary193
    diary193 2015/08/28
    単純だけど今日知って感動した
  • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

    シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから

    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • UNIX FAQ LIST #3.8

    Subject: Why doesn't redirecting a loop work as intended? (Bourne shell) Date: Thu Mar 18 17:16:55 EST 1993 3.8) なぜループの出力をリダイレクトしても思いどうり動かないのか (B-shell)。 次のような例で考えてみます。 foo=bar while read line do # do something with $line foo=bletch done < /etc/passwd echo "foo is now: $foo" 多くの Bourne シェルの実装では、``foo=bletch'' としたのに ``foo is now: bar'' と出力されてしまいます。なぜでしょう。これは以下の ような、あまり文書化されていませんが、歴代のBourneシェルの仕様のせい

    diary193
    diary193 2012/12/01
    いつも忘れてしまうので「なぜループの出力をリダイレクトしても思いどうり動かないのか」
  • Writing Robust Bash Shell Scripts - David Pashley.com

    Many people hack together shell scripts quickly to do simple tasks, but these soon take on a life of their own. Unfortunately shell scripts are full of subtle effects which result in scripts failing in unusual ways. It’s possible to write scripts which minimise these problems. In this article, I explain several techniques for writing robust bash scripts. How often have you written a script that br

    diary193
    diary193 2012/02/29
    set -o や find -print0 など bash や linux 限定の話題もあるけど critical-section のコードは参考になる。きちんとtrap書いておけば安心してkillできるので精神的にもよろしい
  • UNIX & Linux コマンド・シェルスクリプト リファレンス

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    diary193
    diary193 2010/07/28
    仕事柄か何気にシェルを触っている時間が長いので、改めて復習しておく
  • シェルスクリプトの基本テクニックを盗め!:CodeZine

    1. はじめに 稿では、実際に活用されているシェルスクリプトを取り上げ、シェルスクリプトを作成する際のいくつかのテクニックを紹介します。どれも基的で応用範囲の広いテクニックなので、多くの読者に参考にしていただければと思います。2. シェルスクリプト サーバ運用にしろ業務システム運用にしろ、LinuxやFreeBSDといったUNIX系OSを活用する場合、ツールとしてのシェルスクリプトは欠かせない存在です。いかにして建設的に手を抜きつつ、処理を自動化して効率化を達成できるかどうかは、シェルスクリプトの活用いかんにかかっていると言ってもいいでしょう。 もちろんそれはシェルスクリプトに限らず、ほかのプログラミング言語でも問題ありません。シェルスクリプトと他のプログラミング言語を比べた場合、シェルで使っているコマンドをそのまま使えることが、シェルスクリプトの最大の特徴であり利点です。 他人が作成

  • 1