タグ

bashに関するreika221のブックマーク (45)

  • Bash to the Fisher

    かれこれ長いこと仕事でターミナルを使ってるこもりですが、シェルでゴリゴリなんかするでもないし、多機能すぎて覚えるのが面倒くさいのも嫌なのでずっとBashを使っていました。カスタマイズすることもなく、ほぼデフォルトで。 でも、長いこと使っていたそのBashから、最近「Fish(friendly interactive shell)」というシェルに変えたんです。特に思い入れがあるわけでもなければ、そんなゴリゴリ使うわけじゃないから何でも良いのです、簡単であれば(笑)。 fish shell Friendly interactive shell - Wikiwand 初期設定いらずの楽さ 使い始める前に細かい設定とかはできればしたくない…。インストールしただけで簡単・便利に使えるのが理想。カスタマイズしたければすればいいのだけど、あいにくそこまでやる必要は自分にはないのでFishぐらいがちょうど

    Bash to the Fisher
  • bash脆弱性、国内メーカーの対応まとめ(10月3日夜現在)

    LinuxなどUNIX系OSで使われているシェル「bash」にOSコマンドインジェクションの深刻な脆弱性が発覚した問題で、国内メーカーなどの対応状況を10月3日午後8時半現在で取りまとめた。なお、編集部で確認できた範囲のため、情報が網羅されているわけでないことをあらかじめお断りしておく。脆弱性の詳細などについて、JPCERT コーディネーションセンターが情報を公開している。 メーカー 10月3日午後8時半更新 アイ・オー・データ機器(注記1) 影響を受ける製品(対策ファームウェアあり)……HDL-XR/XRW シリーズ、HDL-XR2U/XR2UW シリーズ、HDL-XV/XVW シリーズ、HDL-A/AH シリーズ、HDL2-A/AH シリーズ、HDL-S シリーズ、HDL2-S シリーズ、HDLP-S シリーズ、HDLP-G シリーズ、ASD-XR4.0、HVL-A/AT/ATA シリ

    bash脆弱性、国内メーカーの対応まとめ(10月3日夜現在)
  • 緊急コラム: bash 脆弱性( CVE-2014-6271 )の影響範囲の調査方法について | NTTデータ先端技術株式会社

    Tweet 先週公開された bash の脆弱性について、管理されているサーバーへの影響を気にされている方が多いと思います。そこで緊急コラムとして、影響範囲の調査方法について紹介します。 bash は非常に多くの場面で使用されているプログラムであるため、 bash を呼び出す可能性のあるプログラムや場面をソースコード解析により列挙することは困難です。また、設定ファイルでの指定内容などにも依存する可能性もあり、文章でのお問合せにより漏れの無い的確な判断ができるかどうか不安が残ります。 Red Hat Enterprise Linux ( RHEL )には SELinux というセキュリティを強化するための機能が搭載されています。しかし、脆弱性の問題に限らず、システムのトラブル予防と適切な対処を行う上では、対象となるシステムの設定や挙動を事前に把握しておくことが重要であると考えます。 今回の脆弱

    緊急コラム: bash 脆弱性( CVE-2014-6271 )の影響範囲の調査方法について | NTTデータ先端技術株式会社
  • Bash specially-crafted environment variables code injection attack

    This article was originally published on the Red Hat Customer Portal. The information may no longer be current. Update 2014-09-30 19:30 UTC Questions have arisen around whether Red Hat products are vulnerable to CVE-2014-6277 and CVE-2014-6278.  We have determined that RHSA-2014:1306, RHSA-2014:1311, and RHSA-2014:1312 successfully mitigate the vulnerability and no additional actions need to be ta

    Bash specially-crafted environment variables code injection attack
  • bobchinの日記

    WordPressを使ってみた。 http://bobchin.ddo.jp/wp/ ほそぼそとやってみようかなと。 その1 全角文字を色付けするのに以下のようにしていたが表示されていませんでした。 highlight ZenkakuSpace term=underline ctermbg=lightblue guibg=darkgray match ZenkakuSpace / / http://vim-users.jp/2009/07/hack40/ が参考になった なお、:highlight コマンドで作成したハイライトは :colorscheme でカラースキームを設定する際に全てクリアされます。よってこのコマンドは :colorscheme を実行した後に実行するか、もしくはカラースキームを変更した際に常に実行されるように らしい。 カラーテーマで colorscheme zen

    bobchinの日記
  • nanapi勉強会 vol2 で、シェルオプションの話をしてきた #nanapi_study - 元RX-7乗りの適当な日々

    nanapiのCTOである@wadapさんに声をかけていただいて、LTをやってきました。 nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる LTで使った資料を以下に公開しておきます。 bash(set)コマンドのオプション3選 from Yuuki Namikawa 資料だけだと伝わりづらいですが、僕がこのLTで話したかったことですが、実は編はおまけみたいなもので、現地でしゃべったとおりですが、スライド3枚目〜5枚目の部分です。 単純に、先日発売になったChef実践入門の宣伝wと、もう1つはシェルのHistoryで初対面のエンジニアと仲良くなる方法ですw スライド4枚目に書いてあるとおりですが、普段自分が使っているシェルで例えば以下のような感じでコマンドを実行すると、Historyから、コマンドの実行回数ランキングを出してくれます。 $ history | a

    nanapi勉強会 vol2 で、シェルオプションの話をしてきた #nanapi_study - 元RX-7乗りの適当な日々
  • Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita

    コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m

    Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita
  • 1行のbashスクリプトで実現するWebサーバー | ソフトアンテナ

    普段複雑で高機能なWebサーバーに馴染んでいると忘れがちなことですが、HTTPの基的なしくみはとてもシンプル。それを証明しているのが「Web server in one line of bash」です。なんと以下の1行のbashスクリプトでWebサーバーの機能を実現しています。 while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; cat index.html; } | nc -l 8080; done 実行してみよう 適当なHTMLファイルをindex.htmlという名前で保存し、ターミナルで上記コマンドを実行。ブラウザから「http://localhost:8080」にアクセスしてみましょう(ポート番号が8080になっていることに注意)。 index.htmlのサンプル <html> <head><title>Hello</title></h

    1行のbashスクリプトで実現するWebサーバー | ソフトアンテナ
  • Halloween Bash Profile Generator

    Build your very own .bash_profile bash preview HalloweenBash — bash — 80x24 Your Configuration short hostname : current dir basename (space) user $ 1.) Drag these into (Your Configuration) above date (Day Month Date) short hostname full hostname current shell jobs terminal device (newline) user shell name time (24h HH:MM:SS) time (12h HH:MM:SS) time (12h AM PM) time (24h HH:MM) bash version long b

  • 私が他人のシェルスクリプトから学んだこと | 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でCtrl-rでコマンド履歴を後方検索 - POCH-7003 BEATout!

    コンソールを使っていると頻繁にCtrl-pやCtrl-nを利用する。前に打ったコマンドを何度も打ちたくないからだ。出来る限りタイプを少なくしたいからね。 そんな中で重宝するのが、後方検索。前にあのコマンドを打ったけど微かにしか覚えてない・・・あの長いパスをもう一回打ちたくない・・・Ctrl-pで戻るのがしんどい・・・などなど。 そんな時はCtrl-rで検索出来る。例えばsudoって打った時を検索してみようと言う場合は、Ctrl-rの後にsudoと打ってみる。そうするとCtrl-rを押すたびにsudoを検索してくれる。 そしてそして、これも良くあるのだが、行き過ぎた場合がやっかい。一旦escやCtrl-gで抜けた後に再度、後方検索をするのは面倒。実に面倒。 そんな場合は、 #割当状況を確認 $ stty -a #スクリーンロックを未定義にする $ stty stop undef $ stty

    bashでCtrl-rでコマンド履歴を後方検索 - POCH-7003 BEATout!
  • シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog

    はじめに つい最近知った便利なデバッグ方法 (長年シェルスクリプトを書いているのに知らなかった。これが常識だったら恥ずかしい…) シェルスクリプトのデバッグでは echo で変数の中身を見るという原始的な方法をよく使うかと思います。 いわゆる プリントデバッグ というやつですね。 もう少し詳しいデバッグが必要な場合は、 set -x と set +x でデバッグしたい部分を囲むという方法もあります。 今回は プリントデバッグ で使う echo の代わりに typeset or declare を使うと良いというお話です。 プリントデバッグは typeset or declare を使おう typeset or declare は変数宣言などでよく使うコマンドですが、変数の中身を見るのにも使えます。 echo と比べて何が良いのかというと、変数の中身はもちろん変数名や変数の型も表示してくれ、

    シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog
  • bashによるシェルスクリプトの小技(2) - shibainu55日記

    前回(bashによるシェルスクリプトの小技(1))に引き続き、シェルによって自動的に値が設定される特殊な変数について紹介する。特殊な変数を参照することにより、様々な情報を取得することができる(ただし、これらの変数には自分で任意の値を設定することはできない)。 さて、まずは特殊変数を一覧でまとめてみる。お馴染みのものが多いが、最後の2つ(特に最後のPIPESTATUS)についてはきっと今まで知らなかった人もいるんじゃないだろうか。シェルの中でパイプすると途中のコマンドのリターンコード、拾えないとか思っていませんか?今回のポイントとしては、「1. PIPESTATUS変数について」と「2. 特殊変数 $@と$*の違いについて」の2点を主に説明する。 特殊変数一覧表 変数名 自動的に設定される値 $? 直前に実行されたコマンドの終了ステータスが設定される変数。正常終了の場合は「0」、異常終了の場

    bashによるシェルスクリプトの小技(2) - shibainu55日記
  • AWK Users JP :: クロス集計を AWK で

    クロス集計をBash(とawk)だけで実装した話 にインスパイヤされて AWK で作ってみます。 ここでは クロス集計をBash(とawk)だけで実装した話 の資料の P. 5 にある左の表を右の表の形式に変換します。 ここでは以下のような表を準備しました。 $ cat sample.txt User Item Money A Ice 130 A Ice 180 B Juice 120 B Ice 130 I OREO 210 I OREO 210 I OREO 210 ユーザー (User) と商品 (Item) の重複を避けるために連想配列にインデックスと値が同じものを構成しています。 #! /usr/local/bin/gawk -f # table.awk NR > 1 { user[$1] = $1; item[$2] = $2; money = $3; total[$1, $2

  • Bashの変数パラメータ展開のまとめ - harry’s memorandum

    Bashのパラメータ展開はすぐに忘れてしまうのでメモ。 変数の文字数 ${#parameter}で変数の文字数を調べることができます。 name=/var/log/boot.log echo ${#name} 17 wcやawkコマンドを使う方法がありますがスマートではありません。*1 $ n=`echo $name | wc -c`; echo $(($n-1)) 17 $ echo $name | awk '{ print length($0)}' 17 配列も同じように配列数を調べることができます。 $ array=(a b c d e) $ echo ${array[0]} a $ echo ${#array[@]} 5 変数パラメータ展開 変数を切り出せます。ファイル名やディレクトリ名を簡単に切り出すことができます。 $ name=/var/log/boot.log $ echo

    Bashの変数パラメータ展開のまとめ - harry’s memorandum
  • IDEA * IDEA

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

    IDEA * IDEA
  • シェルスクリプトでパイプを使った時の戻り値のとり方 - 256bitの殺人メニュー

    はい、おつカレー様です。 bashを使ったシェルスクリプトでパイプを使っても戻り値をちゃんと取りたいときの話です。 シェルスクリプトの戻り値 シェルスクリプトでの戻り値取るときに $? を使うことがあると思います。 $ ls / # こっちは正常 $ echo $? 0 $ ls /notfounddir # こっちはエラー $ echo $? 1コマンドのログを取りたいなと思ってteeとかつなげちゃうとteeの戻り値になっちゃって取れないですよね。 $ ls /notfounddir | tee test ls: /notfounddir: No such file or directory $ echo $? 0 # <-アレ? ${PIPESTATUS[@]} こういう場合は、${PIPESTATUS[@]}を使うことで取ることができます。 $ ls / | tee test.log

    シェルスクリプトでパイプを使った時の戻り値のとり方 - 256bitの殺人メニュー
  • sshを使うとbashのループが回らない?

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « てんぷら 天松 日橋店 :: 確定申告準備 » 2009/03/14 sshを使うとbashのループが回らない?  cli  sh  ssh 522 4へぇ sshを使って他のホストのコマンド呼び出しを行うシェルスクリプトを開発していたのですが、自分が意図する動作にならずに色々と試行錯誤をする羽目になったので、同じところではまらないようにメモを残しておきます。 #!/bin/bash seq 1 5 | while read i ; do echo $i ssh host1.example.com 'hostname' done 今回書いたのは上記のようなスクリプトでhost1.example.com上でhostnameコマンドを実行するというのをループで5回繰り返すものです。 $ ./exam

    sshを使うとbashのループが回らない?
  • bashのTAB補完(パス名補完)で.svnを無視したい場合 - 元RX-7乗りの適当な日々

    ソースコード等をSubversionとかでバージョン管理している場合、チェックアウトしたディレクトリに。.svnとかが含まれていて、ターミナルなんかでbashのTAB補完するとき邪魔だなって思うことがありますよね。 単一のディレクトリしかない場合、TABを連打していくと階層を掘っていけるはずが、.svnがあるおかげでちょっとタイプしてからTABキーを押す必要があったりとか。 そんな時は、~/.bashrcとかに、 export FIGNORE=${FIGNORE}:.svnを追加しておけば、TAB補完時に.svnディレクトリを無視してくれる! これは便利。 ちなみに、無視したいディレクトリやファイルが複数ある場合は、 export FIGNORE=${FIGNORE}:.svn:.git:.bakこんな感じで、":"(コロン)区切りで書いておくとOK! サフィックスでマッチする条件なので、

    bashのTAB補完(パス名補完)で.svnを無視したい場合 - 元RX-7乗りの適当な日々
  • Re: sourceで読み込んだらいい感じにPATHに追加するbashrc - (ひ)メモ

    sourceで読み込んだらいい感じにPATHに追加するbashrc - As a Futurist...

    Re: sourceで読み込んだらいい感じにPATHに追加するbashrc - (ひ)メモ