タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

bashに関するrsakamotのブックマーク (13)

  • 検索ではあんまり出ないbashの便利技 - Qiita

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

    検索ではあんまり出ないbashの便利技 - Qiita
  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
  • 最近覚えたシェルスクリプトの小ネタ - カメニッキ

    シェルスクリプト神から教えていただいた。忘れないように書いとく (追記)聞いて、自分の記憶した内容をそのまま書いちゃったので、ちゃんとマニュアル通りか確認してなかったので反省 $ man bash 目次 xargsでfunctionを叩く 連想配列もどき 変数間接参照 なんでもかんでもawkで整形しない 文字列の末尾から数えて○文字目を△文字取り出す 番外編:やたら if [ ]; then を使わない ※Markdownで目次の書き方がわからんかった xargsでfunctionを叩く 下の例だと find xxxx | xargs cp xxxx ってかけば良さそうでイマイチだけど、もっと複雑な処理やらせたいときに。 前はこう書いてた #!/bin/bash for x in `find /var/www -name xxx` do cmd="cp -v /hoge/fuga/xxx

    最近覚えたシェルスクリプトの小ネタ - カメニッキ
  • shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる

    シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ

    shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
    rsakamot
    rsakamot 2016/06/07
    知らなかった...。
  • 本当は使いたいけど使わないBashのTIPS - Qiita

    当は使いたいんだけどねー 仕事だとベンダーのUNIXサーバーが多いのでbashがなかったりします。 HP-UXとかマジに死んで欲しい。Solaris11は大好きです。 環境 CentOS 6.5 bash version 4.1.2 LINENO変数とFUNCNAME変数 当にbashが羨ましい。HP-UXAIXも何故bashを標準で搭載してくれないのだろう。 #!/bin/bash func1() { echo ${FUNCNAME}:${LINENO} } sub1() { echo ${FUNCNAME}:${LINENO} } func1 sub1

    本当は使いたいけど使わないBashのTIPS - Qiita
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

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

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
  • シェルスクリプトで日付と時間を大小判定 - Qiita

    bsdhack さんにいただいたコメントを反映しグローバル変数を除去しました。 ありがとう! 関数ソース 同じシェルスクリプトに関数を書くと酷く邪魔なので別ファイルにしています。 includeぽく使えて良いです。 #!/bin/bash # 日付大小比較 # arg1:'yyyy/mm/dd hh:mm:ss' # arg2:'yyyy/mm/dd hh:mm:ss' # 1が2より大きい場合、 +の数値を $ret に入れる # 1が2より小さい場合、 -の数値を $ret に入れる # 1が2と同じ大きさの場合、0 を $retに入れる function dateComp() { # 1970/01/01 00:00:00 からの経過秒に変換 ARG1_SECOND=`date -d "$1" '+%s'` ARG2_SECOND=`date -d "$2" '+%s'` # 差を返

    シェルスクリプトで日付と時間を大小判定 - Qiita
  • MacのBashをbrewで怖くないbashにする - Qiita

    $ /bin/bash --version GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13) Copyright (C) 2007 Free Software Foundation, Inc. $ which bash /bin/bash $ ls -l /bin/bash -r-xr-xr-x 1 root wheel 1228240 11 1 2013 /bin/bash $ which sh /bin/sh $ ls -l /bin/sh -r-xr-xr-x 1 root wheel 1228304 11 1 2013 /bin/s

    MacのBashをbrewで怖くないbashにする - Qiita
  • bash の脆弱性 "Shell Shock" のめっちゃ細かい話 その2 (CVE-2014-7169) - もろず blog

    ※2014/10/3 0:00時点で Shell Shock への修正パッチは4つ公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください ※2014/10/7 14:00時点で Shell Shock への修正パッチは6個公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください 先日 ShellShock についての記事を書きましたが、 その後もいろいろと進展があり更にいくつかの脆弱性が検出されました ※前回の記事はコチラ bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog 現時点で ShellShock に関わる脆弱性はなんと6個も報告されています CVE-2014-6271 CVE-2014-6277 CVE-2014-6278 CVE-2014-7169 CVE-2

    bash の脆弱性 "Shell Shock" のめっちゃ細かい話 その2 (CVE-2014-7169) - もろず blog
  • bashシェルの修正パッチは不完全、脆弱性突く攻撃の報告も

    LinuxMac OS XなどのUNIX系OSで標準的なシェルとして使われている「bash」に重大な脆弱性が見つかった問題で、9月24日に公開されたパッチは不完全だったことが分かった。攻撃の発生も確認され、影響の大きさは4月に発覚したOpenSSLの脆弱性(Heartbleed)に匹敵すると指摘されている。 米セキュリティ機関US-CERTが9月25日に出したアラートによると、脆弱性はGNU Bash 1.14~4.3に存在し、CentOS、Debian、Mac OS X、Red Hat Enterprise Linux、Ubuntuなどが影響を受ける。24日に脆弱性(識別番号CVE-2014-6271)を修正するパッチが公開され、主要Linuxディストリビューションも更新版を公開した。ところがこのパッチでは、別の脆弱性(CVE-2014-7169)が解決されていないことが判明した。 R

    bashシェルの修正パッチは不完全、脆弱性突く攻撃の報告も
  • 2014/09/24に発表されたBash脆弱性と解決法(RedHat系、9/26更新) - Qiita

    2014/09/26更新: 日新たに公開された再修正版を適用するように、情報を更新しました。恐らく、24日のは暫定対応版で今回のリリースが正式対応版だと思います。緊急性については前回のレベルほど高くありません(が、前回の作業を行っていない場合は急ぎましょう)。 Bash使い(特にBashのCGIスクリプト書いてる人)は一刻を争うべき 2014/09/24に発表されてたBash脆弱性。 上記サイトに概要が書いてありますが、何が一番ヤバいかと言えばBashで書いたCGIスクリプトを動かしているサーバーだと私は思います。 詳しくは書きませんが、telnetコマンドで簡単に悪意のあるコードを仕込めました。悪意あるコードが、rmコマンドだったりしたら。取り返しが付きません。 解決法(RedHat、CentOS等) yumコマンドやrpmコマンドでパッケージ管理をしているRedHat系(CentOS

    2014/09/24に発表されたBash脆弱性と解決法(RedHat系、9/26更新) - Qiita
  • 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
  • 1