タグ

shellに関するjitsu102のブックマーク (21)

  • シェルスクリプトのテストを書こう! - Mobile Factory Tech Blog

    駅メモチームでエンジニアをしている id:Eadaeda です。シバンは #!/usr/bin/envを使う派です。 皆さんはシェルスクリプト書いてますか? 環境構築、開発、テスト、ビルド、デプロイなどなど、一連の作業を自動化するための手段として時々出番があるんじゃないでしょうか。 ところでそのシェルスクリプト、テスト書いてますか? シェルスクリプトのテスト 「シェルスクリプトのテスト〜?」って感じですよね。殆どの場合、一度書いてしまえばあんまり壊れることはないし別に…って感じですよね。わかります。実際開発環境のためにdocker compose upするだけのスクリプトなら雑でもいいですよね。 でも、重要な役割をもつスクリプトならどうでしょう。例えばアプリケーションのエントリーポイントや、リリースビルド・デプロイのためのスクリプトなどが思いつきます。 こういうのはテストである程度保証され

    シェルスクリプトのテストを書こう! - Mobile Factory Tech Blog
  • GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts
    jitsu102
    jitsu102 2022/12/18
    シェルスクリプト静的解析ツール
  • GitHub - xxh/xxh: 🚀 Bring your favorite shell wherever you go through the ssh. Xonsh shell, fish, zsh, osquery and so on.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - xxh/xxh: 🚀 Bring your favorite shell wherever you go through the ssh. Xonsh shell, fish, zsh, osquery and so on.
  • シェルスクリプトを何万倍も遅くしないためには —— ループせずフィルタしよう - Qiita

    🐚 🐚 🐚 🐚 シェルスクリプトは遅すぎて使えない 普通の「速い言語」より何百、いや、何千倍も遅い 他のプログラミング言語を経験してからシェルスクリプトに入門し、このような感想を持つ方も多いのではないでしょうか。 実際、こういったことは往々にして起こり得ますので、「速い言語」を使うべきか否か見極めることは大事だと思います。 しかし、当にシェルスクリプトというのは、そこまで遅いのでしょうか? データ量が多い場合は常に最初から「速い言語」で書いた方がよいのでしょうか? 実は、そうとも限りません。 シェルスクリプトにはシェルスクリプトなりの「速い書き方」があります。 この「速い書き方」で処理できる問題に関しては、シェルスクリプトは「速い言語」なのです。 では、「速い書き方」とは何かというと、端的には「たくさん繰り返されるループはシェルスクリプトで記述しない」ことです。 以下でこれを説明

    シェルスクリプトを何万倍も遅くしないためには —— ループせずフィルタしよう - Qiita
  • 【図解】ゼロから始めるモダンなコマンドライン環境作り #iTerm2 #tmux #zsh|CodeIQ MAGAZINE

    普段からコマンドに触れておくで「黒い画面」アレルギーを解消 コマンドラインツールの弱点は、初心者が覚えるまで時間がかかるということです。「黒い画面」という言葉を聞いたことがあるでしょうか? あまりコマンドラインに馴染んでいない人が、ターミナルのことを指すときに使う言葉だそうです。私も含め私の知り合いでターミナルを使っている人の多くはなぜか背景を黒にしています。「黒い画面」を最初に思いついた人は、ターミナルの見た目からつけたのでしょう。加えて、「黒」という言葉が「閉鎖的」「敷居が高い」「難しい」といった印象を喚起させて、ターミナルのことを的確に表現した言葉だと感心しています。 私自身もコマンドラインを使う前は、「難しい」「敷居が高い」「ギークの閉鎖的なツール」というイメージがあり、わず嫌いしていました。「黒い画面」アレルギーと言ってもいいでしょう。仕事Linuxサーバを保守しないといけな

    【図解】ゼロから始めるモダンなコマンドライン環境作り #iTerm2 #tmux #zsh|CodeIQ MAGAZINE
  • OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料

    OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料

    OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料
  • spark: シェルスクリプトで棒グラフ表示

    B! 251 0 0 0 GitHubで面白そうなシェルスクリプトを探してる時に見つけた Spark by holman について。 数値を棒グラフ上に表示してくれるスクリプトです。 Spark 使用例 Spark Spark は数値群を引数に与えるか標準入力で与えてあげると その数値群を棒グラフに変換してくれるシェルスクリプトです。 インストールはGitHubのレポジトリ から直接sparkというスクリプトファイルを取ってきてPATHの通った所に入れるか、 MacであればHomebrewで $ brew install spark でsparkコマンドが使えるようになります。 使い方は非常にシンプルで $ spark 0 20 40 60 80 100 ▁▂▃▅▆█ こんな感じで数値を与えるとそれを棒グラフにしてくれます。 インプットに使える数字は少数も使えますが、 実際に使われる際には

    spark: シェルスクリプトで棒グラフ表示
  • naoya_itoの火を噴いたシェルtips - Togetterまとめ

    Naoya Ito @naoya_ito シェルでパスワード入力プロンプトでるじゃないですか。途中まで打って間違えたとするじゃないですか。Ctrl + u 打つとリセットできるの知ってた? 俺は知ってた 2014-04-07 19:40:06

    naoya_itoの火を噴いたシェルtips - Togetterまとめ
  • シェルスクリプト最大の罠、while問題

    シェルスクリプト最大の罠:while問題 前回はシェルスクリプトプログラミングのコツの1つとして「アット・ア・グランス性」を紹介した。紹介の中でwhileが引き起こしやすい問題について触れたが、前回の説明だけではよく分からなかった方もいると思う。 今回はこの「while問題」に焦点を当て、シェルスクリプトプログラミングで最もはまりやすい問題を掘り下げて説明する。 whileとパイプの組み合わせで問題発生 次のシェルスクリプトを見てほしい。実行結果を予測してほしいのだが、おそらくほとんどの方が「標準出力にLinuxが出力される」と答えるだろう。

    シェルスクリプト最大の罠、while問題
    jitsu102
    jitsu102 2012/09/17
    「シェルはパイプが使用されると、コマンドの分だけシェルをfork(2)し、fork(2)して生成されたシェルの方でコマンドを実行する」
  • シェルプログラミングTips - UEC - usp engineers' community

    UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト Info インフォメーション イベント情報 / ニュース・プレスリリース ユニケージについて ユニケージ開発手法とは / ユニケージエンジニアとは ユニケージ開発手法 技能検定 / 試験日程 ユニケージ開発手法 教育講座 / 開講日程 ユニケージ開発手法 教育講座レポート 出版物 シェルスクリプトマガジン / 注文 / 取扱書店 / 問合せ USP出版書籍 / 注文 / 取扱書店 / 問合せ Software Design / FreeBSD Expert FreeBSD Weekly Topics / 日経Linux 推薦図書 オススメの定番書 / より上級者を目指す UNIXビギナー向け教 / UNIXの文化を知る AWK/SEDを習得する / 手元に置きたい実用書 古典を楽しむ UECサイトについて

  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー

    最初はこう書いていた。 lockfile build.lock ... rm -f build.lockだけど、lockfileは失敗した時にデフォルトでは無限にリトライをする。ちょっと出来心で$ for i in {1..100}; do ./foo.sh; done;したから100人の待ち行列が出来てしまった。 やりたかったことは「既に起動していたら続行しないで終了」だったので-r 0でリトライ回数を0にした。 lockfile -r 0 build.lock || exit 1 ... rm -f build.lock

    シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー
  • シェルスクリプト内で実行した cd コマンドをターミナルに反映させる方法を教わった - わからん

    シェルスクリプト内で実行した cd コマンドをターミナルに反映させたい。シェルスクリプト内でふつうに cd しても、子プロセスで cd するだけ。exec cd すればいいだろうと思ったのですがうまくゆかず、はてな人力検索で質問しました。そこで、a-kuma3 さんという方に、最後に exec /bin/bash すればよい という、目から鱗なアイディアを教わったので、自慢しておきます。 シェルスクリプト内で実行した cd コマンドをターミナルに反映させたい - 人力検索はてな 検証/理解の確認として、ターミナルで echo $$ し、次のスクリプト dummy.sh を実行し、再度ターミナルで echo $$ してみました。いうなれば、ターミナルで直接向き合っているカレントプロセスをシェルスクリプトのプロセスに差し替える技。なるほど。感動しました。 #!/bin/bash cd /tmp

  • 同名コマンドのファイルがなぜ多数存在するのか?

    同名コマンドのファイルがなぜ多数存在するのか?:スマートな紳士のためのシェルスクリプト(2)(1/2 ページ) 今回のテーマはごく短いシェルスクリプトだ。「このスクリプトにどんな意味があるのだろう」とか、「役に立つのだろうか」と思う方もいるかもしれない。あなたが作成するシェルスクリプトに直接役立つことはないが、今回のテーマは、今後シェルスクリプトのスキルを上げていきたいと願う人なら、絶対に押さえておきたいものだ。(編集部) /usr/bin/cdをよく読んでみろ 今回は、最初に短いシェルスクリプトを紹介する。このごく短いシェルスクリプトが今回のテーマだ。わけが分からないという人もいるかもしれないが、この部分をしっかり押さえた人と、わけが分からないからと放置した人とでは、後々とてつもなく大きな差が付く。 今回のテーマは、シェルスクリプトマスターになるためには、ぜひとも抑えておきたいポイントな

    同名コマンドのファイルがなぜ多数存在するのか?
  • シェルスクリプトはエレガントでなければならない

    /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

    シェルスクリプトはエレガントでなければならない
  • Bash&シェルスクリプトを極めるテクニックまとめ | OSDN Magazine

    UNIXやLinuxのエキスパートになるのに避けて通れないのが、Bashに代表されるコマンドラインシェルによる操作だ。そこで記事では、「Bashのカスタマイズ」「シェルスクリプトの高等テクニック」「Bash以外の高機能シェル」の3つについて、SourceForge.JP Magazineで過去に掲載された解説記事を紹介する。 Bashをカスタマイズして使いこなす Bashは非常にカスタマイズの幅が広く、またちょっとした改良や簡単なシェルスクリプトの利用により、大きく作業効率が改善する。ここでは、Bashのカスタマイズテクニックを解説する記事を紹介する。 コマンドラインでシェルのエイリアスと関数を使って作業を効率化する GNU/Linuxシステムを最大限に活用するには、やはりコマンドプロンプトとシェルスクリプトへの習熟が欠かせない。とはいえ、そうした処理はなるべく手早く済ませたいものだ。

    Bash&シェルスクリプトを極めるテクニックまとめ | OSDN Magazine
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • ウノウラボ Unoh Labs: シェルの仕組み(前編)

    尾藤正人(a.k.a BTO)です 社内勉強会でシェルの仕組みというのをやってみましたので、資料を公開します。 シェルはUNIXを使う上で、必ず使用される非常に身近なツールです。 毎日使用しているツールにも関わらず、具体的にどのような動作をしているのか知らない方も多いのではないのでしょうか。 シェルの使い方に関する情報はたくさんありますが、シェルの実装についての情報はほとんどないなと思ってシェルを題材に取り上げました。 シェルにはUNIXプログラミングのエッセンスがぎっしりつまっています。 シェルの内部の仕組みが分かるようになると、UNIXプログラミングが分かるようになると言っても過言ではないのかもしれません。 シェルの仕組み(前編) - Upload a Document to Scribd 社内勉強会中にustreamで動画を流していたのですが、動画を保存するのを忘れてしまいました。

  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • シェル・スクリプト・リファレンス・ランキング

    Linuxで一連の処理を行う際には,シェル・スクリプトが役立ちます。シェル・スクリプトは,シェル上で同じような操作を続けるときや複雑な操作を行いたいときに,その操作手順をテキスト形式で記述しておき,任意に実行できるファイルです。定型的な処理を繰り返し実行するときに便利ですが,シェル・スクリプトを作成するには,記述のルールなどを知っておく必要があります。 日経LinuxのWebサイトでは,シェル・スクリプトの使い方について紹介した「シェル・スクリプト・リファレンス」を公開しています。シェル・スクリプトの基的な知識から,変数の扱い方,繰り返しや条件分岐などの記述方法,シェル・スクリプトで便利に利用できるコマンドなどを紹介しています。 日経Linuxは2006年3月1日に,シェル・スクリプト・リファレンスをITproに公開しました。公開後1年が経過したのを契機に,過去1年間によく閲覧された項目

    シェル・スクリプト・リファレンス・ランキング