タグ

bashに関するmas-higaのブックマーク (21)

  • [書評] 「シェルスクリプト 入門の入門」 開発者は手元に置いておいた方がいいかも | DevelopersIO

    こんにちは、CX事業部の夏目です。 先日屋をうろついていたら、偶然発見したが非常に良いものを見つけました。 今年の4月に発行された書籍で、ちょっと在庫はこころもとなくなってきてますが、非常に良いだったので気にせず紹介します。 (一部の書店や honto ではまだ在庫があるようです) シェルスクリプト入門の入門 作品紹介:シェルスクリプト入門の入門 :暗黒通信団 Linux を活用するには様々なコマンドを使いこなすことが重要ですが,それだけではありません.同じような処理を繰り返すならば一括して処理した方が,間違いが少なくなり効率が良くなります. 書では,ターミナルで様々な処理を一括処理するために記述するシェルスクリプトについて,ポイントを押さえて最小限だけ説明することを目指しています.特に,LinuxmacOS などで広く使われている Bash を用いることを考えています.シ

    [書評] 「シェルスクリプト 入門の入門」 開発者は手元に置いておいた方がいいかも | DevelopersIO
    mas-higa
    mas-higa 2019/11/19
    CI/CD って bash で書くんか…そっち方面に転身するか。
  • Windows10 の "Bash on Ubuntu on Windows" で困ったこと - Qiita

    インストール記事はすでに沢山あるので、使用中に困ったことと、インストール直後のカスタマイズに焦点を絞って記事にする。 インストール手順 Qiita上の下記記事が丁寧でわかりやすかった。 http://qiita.com/Aruneko/items/c79810b0b015bebf30bb 要は次の3ステップを実行すれば良い。 1. 開発者モードを有効化する 2. Windows Subsystem for Linux(Beta) を有効化して再起動する 3. コマンドプロンプトを開いて bash と打ち込み、ユーザ名とパスワードを入力する 日語文字化け 上記の bash の打ち込みの後に、ダウンロードとファイル展開が始まるのだが、その時点で画面の日語が激しく文字化けした。途方にくれて管理者コマンドプロンプトから lxrun /uninstall /full で一旦削除し、lxrun /

    Windows10 の "Bash on Ubuntu on Windows" で困ったこと - Qiita
    mas-higa
    mas-higa 2018/03/07
    どうでもいいけど BoW ってタグ見て BSD on Windows を思い出した。
  • 遅ればせながらWindows Subsystem for Linuxを導入した - ただのにっき(2017-12-12)

    ■ 遅ればせながらWindows Subsystem for Linuxを導入した Windows10のFall Creaters UpdateでWSLのβがとれると聞いたので、おくればせながら導入してみた。手動でWindowsをアップデートしてから、Microsoft StoreでUbuntuをインストール。その後、コンパネ→プログラムと機能→Windowsの機能の有効化または無効化と進んで「Windows Subsystem for Linux」を有効に。何度か再起動すると使えるようになる。 以前はWindowsを「開発者モード」で動かさないといけなかったようだが(それでよけいなsshdが動くのがイヤで導入してなかった)、今は不要らしい。ググって古い情報を参考に導入したりすると余計な手順を踏まされそうだ。 起動したUbuntuは(というかbashは)普通によくできていて、とはいえWin

    遅ればせながらWindows Subsystem for Linuxを導入した - ただのにっき(2017-12-12)
  • シェルの展開順序に気をつけよう - Qiita

    Shell Script Advent Calendar 2016の12月17日エントリーです(途中途切れてるので日数計算は不明)。 初級者向けの基礎知識として、シェルの展開順序について書きます。ここではbashを例に説明しますが、基は各種シェルに共通していると思います。 展開と実行の順序 端末やシェルスクリプトなどでシェルを使うときには、展開順序を意識していないと思わぬ失敗をすることがあります。展開(expansion)とは、ファイル名のパターン(ワイルドカード)やシェル変数などの処理です。 展開のメカニズムは普通のプログラミング言語のモデルと大きく異なる点の一つです。たとえば、多くのプログラミング言語の文法では変数は値の一種として扱われますが、シェルの文法では変数が展開されてから実際の処理が実行されます。このあたりの感覚は、C言語のプリプロセッサマクロなどに近いかもしれません。 ba

    シェルの展開順序に気をつけよう - Qiita
  • Bashアプリケーションをテストする | POSTD

    以前、bashスクリプトをテストする仕事に取り組んだことがあります。最初、Pythonユニットテストを使うことにしましたが、プロジェクトに外部技術を持ち込むのは気が進みませんでした。そこで、仕方なく、悪名高い bash で書かれたテスト用フレームワークを使いました。 既存ソリューションの概要 手に入るソリューションを探してGoogle検索しましたが、選択肢はほんの少ししかありませんでした。そのうちいくつかについて、詳しく見ていきましょう。 重要になるのは、どんな基準でしょうか? 依存関係: bass のテスト用フレームワークを選ぶときに、 python 、 lua などのシステムパッケージも一緒に引きずり込むのは嫌ですね。 インストールの難しさ:継続的な開発の実装とTravis CIでの継続的な統合も仕事の1つだったので、私にとってインストールにかかる時間と手間数が妥当だということは、重要

    Bashアプリケーションをテストする | POSTD
    mas-higa
    mas-higa 2017/09/06
    #!/bin/bash って画像いるか?
  • 検索ではあんまり出ないbashの便利技 - Qiita

    bashでは記号類をたくさん使うので、この書き方は何?と思っても検索でなかなか出てこないことがあると思う。 そこで知っていると便利なコマンドを残しておく。 随時追記予定。 確認に使用したbashのバージョンは以下のとおり。

    検索ではあんまり出ないbashの便利技 - Qiita
    mas-higa
    mas-higa 2017/09/06
    DEBUG シグナル!
  • bash の設定ファイル読み込み仕様 - 彷徨えるフジワラ

    ログインシェルが bash に設定されている環境で、SSH 経由でログインなしのコマンド実行 (= 非対話的実行) を行うために、ユーザ独自の設定 (環境変数の変更/追加等) を設定ファイルに記述する際の注意点を、最初にまとめておきます。 SSH 経由でのコマンド実行に必要な追加設定は ~/.bashrc に記述する ~/.bashrc への記述追加の際には: [ -z "$PS1" ] && return のような、「非対話的実行時には、以降の設定評価を中断」する記述の有無を確認し 記述がある場合は、それよりも前の行で追加設定を記述する 「非対話的実行」の判定は、上記以外の方法でも可能です。必ずしも上記と同一の記述で対処しているとは限りませんから、注意してください(エントリ末尾でも、- パラメータを使った判定方法を例示しています)。 以下は、bash の設定ファイル読み込みの詳細に関す

    bash の設定ファイル読み込み仕様 - 彷徨えるフジワラ
    mas-higa
    mas-higa 2017/08/16
    対話的か否かは test -t 0 とかで判定してた
  • bashスクリプトをデバッグする方法 - Qiita

    #!/bin/bash exec 5> debug_output.txt BASH_XTRACEFD="5" PS4='$LINENO: ' set -x するとdebug_output.txtにログが出力される。 exec 5>はファイルディスクリプタ5番をdebug_output.txtにするという意味。 PS4はトレース出力の際に表示されるプロンプト。$LINENOにより行番号を表示している。 set -xは実行するコマンドをトレース出力させる。 元記事にはbashdblog4bash、Eclipse、Visual Studioo Codeを使う方法なども紹介されているが、これが一番手軽でほとんどの場合十分だと思う。 Register as a new user and use Qiita more conveniently You get articles that match

    bashスクリプトをデバッグする方法 - Qiita
    mas-higa
    mas-higa 2017/08/08
    BASH_XTRACEFD と PS4 で 2>&1 | tee とかしなくて済む
  • 原理原則で理解するbashの仕組み - Qiita

    はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba

    原理原則で理解するbashの仕組み - Qiita
    mas-higa
    mas-higa 2017/04/05
    "あるとすればシェルスクリプトの" コマンドラインからサブシェル使うことないのかなぁ
  • SIOS Tech. Lab - エンジニアのためになる技術トピックス

    今回は感情認識のライブラリであるPy-Featについてまとめました。 はじめに はじめまして、新卒の山﨑です。先日、OSC広島というイベントに先輩方と作成したアプリ『とびっきりの笑顔で「きのこ」か「たけのこ」かはっきりさ […]

    SIOS Tech. Lab - エンジニアのためになる技術トピックス
    mas-higa
    mas-higa 2017/02/28
    "TABボタン" ボタン!!!?
  • コマンドラインツールを書くなら知っておきたい Bash の 予約済み Exit Code - Qiita

    上記の表の通り,Exit Code 1, 2, 126〜165, 255 は特別な意味を持ち,スクリプトやプログラム内で exit に指定するパラメータとしては避けるべきである.とりわけ,Exit Code 127 はトラブルシューティングで混乱の元である("command not found" で終了したのか,プログラム固有のエラーなのか区別できなくなる).しかしながら,多くのスクリプトが exit 1 を一般的な実行を続行できないエラーとして使っている.Exit Code 1 は Bash の一般的なエラーを含め,とても多くのエラーで発生しうるので,デバッグの時に切り分けが大変になるだろう. Exit Code を体系立てて定義する試みはある(/usr/include/sysexits.h)が,これは C と C++ プログラマー向けである.スクリプトに関しても同様な感じにするのが適切

    コマンドラインツールを書くなら知っておきたい Bash の 予約済み Exit Code - Qiita
    mas-higa
    mas-higa 2016/09/27
    「Bashの...」って、そんなん bash の都合なんて知らんがな。
  • Windows 10のbash on Windowsを試す - kkamegawa's weblog

    はじめに blogs.windows.com Windows 10のInsiderビルド14316が公開されました。//Buildで発表されたbash on Windowsも入っています。bashなのでbashそのものの挙動はともかく、Windowsで実際にどう見えるのか確認してみます。ベータなので将来変わると思いますので、その点はよろしく。 インストール 初回起動時のbash.exeはコンソールのストアアプリ(Windows Runtimeを使うアプリ)のようで、ちょっと違います。ご注意。公になるものでは初めてのWindows Runtimeを使ってストアにアクセスするコンソールアプリケーションってことになるんでしょうか。理屈上はできることはわかっていましたが。 まずはプログラムの追加と削除からWindowsの機能で「Windows Subsystem for Linux」を追加します。

    Windows 10のbash on Windowsを試す - kkamegawa's weblog
    mas-higa
    mas-higa 2016/04/07
    気になるのは fork と signal
  • bash -eより set -e - hitode909の日記

    こういうシェルスクリプトがあるとする. -eしてるので,途中でエラーが出たときには止まってほしい. #!/bin/bash -e echo 1 ehco 2 echo 3 止まってくれ……!! % ./a.sh 1 ./a.sh: line 4: ehco: command not foundちゃんと止まった. ところで,bash ./a.shとか,cat a.sh | bashとかして実行してみると,3まで実行されてしまう!!!. % bash ./a.sh 1 ./a.sh: line 4: ehco: command not found 3 % cat ./a.sh | bash 1 bash: line 4: ehco: command not found 3 こういったことがあってはつらいので,bash -eじゃなくて,set -eしましょう. #!/bin/bash set -

    bash -eより set -e - hitode909の日記
    mas-higa
    mas-higa 2015/12/29
    昔は || exit $? みたいな不毛なことしてた
  • 本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita

    .bash_profile はログイン時にのみ実行されます。具体的な用途は: 環境変数を設定する (export する変数) 環境変数はプロセス間で勝手に受け継がれるのでログイン時のみ設定すれば十分です。 .bashrc は対話モードの bash を起動する時に毎回実行されます。具体的な用途は: 環境変数でない変数を設定する (export しない変数) エイリアスを定義する シェル関数を定義する コマンドライン補完の設定をする これらは bash を起動する度に毎回設定する必要があるものです。 その他 .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの? を参照。もっと突き詰めたい人は Linux: .bashrcと.bash_profileの違いを今度こそ理解する。 Bash 以外のシェルを使用しない人は .bash_profile と .bashrc

    本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita
  • zshが無いと死ぬ人がbashでなんとかする - ろば電子が詰まつてゐる

    ※この記事は、zsh Advent Calendar 2014 - Qiitaの19日目です。 zsh無しにbashで生きる zsh大好きな皆さんは、bashを心の中のどこかでバカにしているのではないでしょうか。しかし最近のbashは、いろいろとzshを意識している(?)雰囲気があり、zsh特有だと思っていた機能が実はbashでも使えたりします。 そのため、 zshを使えないと全身から血を吹き出して死ぬ ログインシェルとしてzshが起動されないと発狂して死ぬ 「最近はSolarisにだってzshが入っている」と一日100回は唱えないと死ぬ zsh神社が欲しい、参拝したい という人でも、bashがあれば多少の延命ができるかもしれません。稿では、zshが無いというサバイバル環境下において、bashでなんとかすることをテーマにいくつかサンプルを挙げてみます。 なおここでは、bashのプロンプト

    zshが無いと死ぬ人がbashでなんとかする - ろば電子が詰まつてゐる
    mas-higa
    mas-higa 2014/12/19
    yum でなんとかできる状況なら zsh 入れろ
  • ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記

    2014-09-27: 該当サイト上にXSSがなくても攻撃可能であることが id:mayuki さんのコメントで判明しましたので全面的に書き直しました。ファイアウォール内であっても攻撃者はファイアウォール内のShellshock攻撃が通用するCGIのURLがわかっているだけで攻撃可能ですので早急に対応が必要です!会社のブログにも書いてますが、ファイアウォール内に置いてあるサーバで攻撃者が直接アクセスできないからといってbashの更新を怠っていると、条件によっては攻撃が可能となります。 条件としては、 そのサーバにはシェルを経由して外部コマンドを起動するCGI等が動いている(通常のShellshockの攻撃と同条件) 攻撃者がそのURLを事前に知っている(あるいは推測可能) となります。 攻撃者は、ユーザーを罠URLへ誘導し、以下のようなJavaScriptを罠ページ上で動かし、攻撃対象のW

    ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記
  • TechCrunch

    Plume, a startup founded to offer essential online healthcare services to trans people across the U.S., laid off more than two dozen workers in October, several sources close to the company told TechC

    TechCrunch
    mas-higa
    mas-higa 2014/09/29
    "高度なUNIXサービスを構成していなければ" これはアカン感じ
  • Blog: bashの脆弱性がヤバすぎる件 – x86-64.jp - くりす研

    Browse by time: December 2018 (1) December 2016 (1) December 2015 (1) January 2015 (1) September 2014 (2) July 2014 (2) April 2014 (1) February 2014 (1) January 2014 (3) December 2013 (2) September 2013 (3) June 2013 (1) May 2013 (1) April 2013 (1) March 2013 (2) February 2013 (5) やっと更新する気になった。 もくじ 0. 産業で説明 1. 理論編 2. 攻撃編 3. パッチ 4. 結論 0. 産業で説明 bashが アホで 地球がヤバイ 1. 理論編 bashの関数機能は、環境変数の中でも使える仕様になっています

    mas-higa
    mas-higa 2014/09/25
    これは地球がヤバイ
  • いますぐ実践! Linuxシステム管理

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

  • 初めてのオレオレbash補完 - As a Futurist...

    さて、ひとつ前のエントリは釣りだったわけですが、題の bash 補完を初めてやってみました。ちょっとした物だったら割と簡単に書けたので、共有。 目標 自作コマンド(仮にsugyanとします)はこんな感じの I/F だとします。 sugyan subcommand [args] いくつかの subcommand は次にくる引数が限られる 例えばsugyan momocloの後にはkanako renichan shiorin ahrin momoka sugyan listでそういう補完の一覧が色々出せる sugyan list commandで subcommand の一覧 sugyan list momocloでももクロ一覧 一応sugyan listでcommand momocloが返る あとはいつもの bash のままにファイルとかを補完して欲しい 実際叩くと、 $ sugyan

    初めてのオレオレbash補完 - As a Futurist...