タグ

bashに関するmasatsuneのブックマーク (30)

  • Mingw-w64/MSYS2 を入れなくても Git for Windows で間に合うみたい - 檜山正幸のキマイラ飼育記 (はてなBlog)

    長年MinGW/MSYSを使い続けているのですけど、最近あまりアップデートされません。例えば、bashは9年前のversion 3.1のままです。世間ではversion 4.2, 4.3が使われているのに。 MinGW/MSYSの後継らしきMingw-w64とMSYS2の組み合わせに替えようかと思ったのですが、Git for Windowsがあれば十分な気がしてきました。 内容: MinGWとMSYS ディレクトリレイアウトとPATH環境変数 Mingw-w64とMSYS2 Git for Windowsのシェル環境 まとめ MinGWとMSYS MinGWとMSYSは一緒に使っている人が多いと思いますが、目的が異なる2つのシステムです。MinGW/MSYSとよく比較されるCygwinは、単一のシステムとしてWindows上にPOSIX環境を実現するものです -- 目的も方式も明快です。こ

    Mingw-w64/MSYS2 を入れなくても Git for Windows で間に合うみたい - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • bashのTips色々 - Qiita

    概要 bashの記法は独特なものが多く毎回ググってしまうのでまとめて(と言いつつまとまりがないですが。。。)おこうと思います。 ある程度まとまってからpostしようとか思ってたらごちゃごちゃになっちゃいました。 bashで使えるという意味なのでposixシェル共通のネタも混ざってます。 随時更新します。参考になれば幸いです。 参考 man bash リファレンスマニュアル Advanced Bash-Scripting Guide カッコ色々 bashでは色々なカッコがありますが、よく違いが分からず使っていたりするのでまとめてみます。 []と[[]] []はtestコマンドのaliasです。[[]]じゃないとできないこととしては、以下のようなものがあります。 空白を含む文字列をクォートしなくてOK var='abc 123' # []の中だとクォートしないとエラーになる [ $var =

    bashのTips色々 - Qiita
  • 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) - Glamenv-Septzen.net

    ホーム 検索 - ログイン | |  ヘルプ 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか? 「Web上で検索したら見つか

  • ターミナルの作業が捗るかもな小技5つ - Qiita

    ターミナルで作業する事が多いんですが、そのときによく使っているちょっとしたときに便利なコマンドなどを紹介します。 bashで説明します。 (zsh でもつかえるし、もっと便利になる物も多いですが) 1. 並列な階層に複数ディレクトリを一度に作成 {} を利用します。 aa,bb,cc というディレクトリを作るとき。

    ターミナルの作業が捗るかもな小技5つ - Qiita
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」

    LINQ in Unity LINQ to GameObject - https://github.com/neuecc/LINQ-to-GameObject-for-Unity/ UniRx - https://github.com/neuecc/UniRx

    シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
  • インフラエンジニアとしてよく使うコマンド集 - Qiita

    私がよく使うコマンド集となります。 参考に頂けたら幸いです。 随時更新するかと思います。 コマンドを打つ前に覚えておく事 ①サーバに負荷がかかるコマンドを打つ場合、下記をコマンドの先頭に付けましょう $ ionice -c 2 -n 7 nice -n 19 # -c 2:ディスクI/Oの実行優先度をベストエフォートで実行 # -n 7:さらにこのコマンドの優先度を低くする # -n 19:プロセスの実行優先度を一番低くする

    インフラエンジニアとしてよく使うコマンド集 - Qiita
  • 第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp

    10月に入り、9月までに起こったことをざっと振り返るというお題がどこかから聞こえてきたので、「⁠じゃあ……」という感じで振り返ってみることとします。 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ まだ現在進行形の事案ではありますが、9月下旬に発覚したBashの脆弱性に起因して、10月上旬までまだ収束していないShellshock。 Bash 4.3の例で説明すると、Patchlevel 25~30までは以下のような軌跡をたどっています。 9月24日にPatchlevel 25 9月26日にPatchlevel 26 9月27日にPatchlevel 27 10月1日にPatchlevel 28 10月2日にPatchlevel 29 10月5日にPatchlevel 30 この間に発見、修正された脆弱性は、CVE-2014-6271、CVE-2014-71

    第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp
  • bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog

    ※(2014/10/1 追記) 脆弱性の番号を誤って CVE-2014-6721 と表記してしまっていました 正しくは "CVE-2014-6271" です 失礼致しました ※(2014/10/7 追記) 2014/10/7 14:00時点で Shell Shock への修正パッチは6個 公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください シェルに脆弱性が見つかったらしいです このコマンドを実行すると脆弱性があるバージョンかのチェックができるようです $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 以下のように表示されたらアウトです vulnerable this is a test どうやら、このコマンドが正常に実行できるというのがこの脆弱性の正体らしく、 echo vuln

    bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog
  • bashに存在する「Shellshock」脆弱性を利用した攻撃を確認、「BASHLITE」へ誘導 |

    bashに存在する脆弱性「Shellshock」を利用した攻撃を確認、不正プログラム「BASHLITE」へ誘導 Linux などで使用されるオープンソースプログラム「Bourne Again SHell(bash)」に存在する脆弱性「CVE-2014-7169」に関する報道があってから数時間後、この脆弱性を利用した攻撃が確認されたことが報告されました。この脆弱性が利用されると、任意のコード実行が可能となり、システムのセキュリティが侵害されます。攻撃者がWebサーバのコンテンツの改変、Webサイトのコード変更、Webサイトの改ざん、データベースからのユーザ情報の窃取といったシナリオが想定されます。 トレンドマイクロは、この脆弱性を利用してシステムに侵入した不正プログラムの検体を確認しました。「ELF_BASHLITE.A」もしくは「ELF_FLOODER.W」として検出されるこの不正プログラ

  • bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog

    bashに脆弱性が確認されたとして騒ぎになっています。ここではCVE-2014-6271に関する情報をまとめます。 #記載内容について、誤っている、追記した方がいい等情報がございましたら@piyokangoまでご連絡お願いします。 脆弱性情報 脆弱性の愛称 ShellShock Bashbug CVE番号 Bash周りで発行されているCVEは6つ。その内詳細が不明なのが2つ。(CVE-2014-6277,CVE-2014-6278) CVE 発見者 想定脅威 特記 CVE-2014-6271 Stephane Chazelas氏 任意のコード実行 ShellShockの発端となったバグ。 CVE-2014-7169 Tavis Ormandy氏 任意のコード実行 CVE-2014-6271修正漏れによる脆弱性 CVE-2014-7186 Redhat DoS メモリ破壊(Out-of-Bo

    bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog
  • bashのfor文のまとめ

    bashのfor文のまとめです。 ネットで調べたところ、ケース別ですぐに使えそうなサンプルが並んでいるものがなかったので、このエントリーでまとめてみました。 認識違いがありましたどこかでつぶやいてください。 なお、サンプルでは変数のカーリーブレースやダブルクォーテーションは省略しています。適宜付与してください。 1.フォーマット bashのfor文のフォーマットは for 繰り返し条件 do # ... done となっています。 次のフォーマットでも書けます(以降、このフォーマットで解説)。 for 繰り返し条件; do # ... done 2.初期値・ループ条件・ループ時の処理で指定する 繰り返し条件の部分は一般的なfor文のお作法(初期値、ループ条件、ループ時の処理)が利用できます。 for ((初期値; ループ条件; ループ時の処理)); do # ... done サンプル m

    bashのfor文のまとめ
  • 私が他人のシェルスクリプトから学んだこと | Yakst

    私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e

    私が他人のシェルスクリプトから学んだこと | Yakst
  • bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita

    bash/zsh では パラメータ展開の # と %を使って Prefix または Suffix を削除することができます。 $ var='hogefuga' # Prefix削除 $ echo "${var#hoge}" fuga # Suffix削除 $ echo "${var%fuga}" hoge シェルスクリプトではよく使う手法ですが、意外と覚えづらく、特にどちらが Prefix削除 でどちらが Suffix削除 なのか忘れてしまいがちです。(私だけ? 先日そんな悩みを Twitter で吐露したところ、3名の親切な方が覚え方を伝授してくれました。 その覚え方がなかなかユニークで覚えやすかったので紹介します。 # はコメントを表す記号なので Prefix(先頭)削除 # を番号記号と考えて #30 のように使うので Prefix(先頭)削除 % はパーセンテージを表す記号で、30

    bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita
  • 標準出力をファイルのように扱う方法、例えば2つのコマンドの出力結果のdiffを取るとか - Qiita

    command1 > out1 command2 > out2 diff out1 out2 rm -f out1 out2 これは Process Substitution という名前の機能です。 ちなみに echo <(command) すると /dev/fd/63 などと表示されます。 これは一時的に作られたファイルディスクリプタの名前で、そのファイルディスクリプタは実行されたcommandの標準出力に繋がっており、他のプログラムからはファイルと同じように扱うことが出来る、というわけです。 とっても便利なので、覚えといて損はないです。

    標準出力をファイルのように扱う方法、例えば2つのコマンドの出力結果のdiffを取るとか - Qiita
  • chown -R による壊滅的な状況を切り抜ける方法 - mura日記 (halfrack)

    ある日、ぼーっと DB のコピーをした後に、コピー元と uid が違っていたので以下のようなコマンドを叩いた。ぼーっと。 chown -R mysql:mysql ../これを叩いたときのカレントディレクトリは /var/lib/mysql である。ドットが一個多いので /var/lib 以下が全部 mysql になって大惨事。 こういうとき FreeBSD だったらmtreeを使うんですが、 GNU/Linux だと無いようなのでどうするねん。と困っていたところ、 satoh_fumiyasu@ さんに getfacl/setfacl というポインタを教えてもらいました。 同一構成の適当なホストからパチってきて合わせる。 -bash-3.2# hostname rokuchotouge -bash-3.2# pwd /var -bash-3.2# getfacl -R lib | nc

    chown -R による壊滅的な状況を切り抜ける方法 - mura日記 (halfrack)
  • いますぐ実践! 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) [バックナンバーのトップへ

  • IDEA * IDEA

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

    IDEA * IDEA
  • rm -rf &quot;/$hoge&quot; のようなスクリプトで痛い目に遭わないために

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « 亀居山 放光院 大願寺の火渡り式 :: キャップのない万年筆というのがあるらしい » 2012/11/04 rm -rf "/$hoge" のようなスクリプトで痛い目に遭わないために  sh 132 0へぇ 例えば下記のようなスクリプトがあったときに DELETEFILE をセットし忘れたりすると目もあてられないような状況になります*1。 DELETEFILE="path/to/file" rm -rf "/$DELETEFILE" こういう場合、通常はこんな感じで if を使って変数が空でないか調べることになると思います。 DELETEFILE="path/to/file" if [ -n "$DELETEFILE" ] ; then rm -rf "/$DELETEFILE" fi それでも

    rm -rf &quot;/$hoge&quot; のようなスクリプトで痛い目に遭わないために