タグ

Bashに関するiR3のブックマーク (9)

  • シェルスクリプトの罠を避ける三つの tips

    シェルスクリプトは、Unix 系環境で仕事をするエンジニアなら誰もが一度は書くであろうにもかかわらず、書き方や特性を熟知している人が少ない言語です。この記事は、シェルスクリプトを書くときに罠を踏まないようにするために最低限あなたが気を付けるべき tips 集です。「たかがシェルスクリプト」とは思わないでください。生半可に書かれたシェルスクリプトはあなたの (チームの) 生産性をかえって低下させます。 Shebang に bash を明示しろ Bash でしか使えない機能のことを俗に Bashism と言います。Bashism はもちろん Bash 以外のシェルでは動きません。これに関するありがちな罠は、以下のように発生します。 Bash が /bin/sh として使われている環境でシェルスクリプトを書く。うっかり Bashism がシェルスクリプトに含まれていても、 /bin/sh は何も

    シェルスクリプトの罠を避ける三つの tips
    iR3
    iR3 2020/10/02
    有難い♪
  • 「GNU Bash 5.0」リリース、10年ぶりのメジャーバージョンアップ

    BashはLinuxやUnixでもっとも広く使われているシェル、あるいはコマンド言語の1つです。多くのLinuxディストリビューションをはじめmacOSWindows 10のLinux互換機能であるWindows Subsystem for LinuxなどではBashが標準のシェルとして設定されています。 GNUプロジェクトは、そのBash(Bourne Again Shell)の最新バージョンとなるBash 5.0のリリースをメーリングリストで発表しました。 Bash 4.0のリリースは2009年2月のことでしたから、約10年ぶりのメジャーバージョンアップ。2016年9月に登場したBash 4.4からは約2年4カ月ぶりとなります。 バグフィクスと新機能 Bash 5.0の大きな変更点は、おもに bash 4.4で発見された大きなバグの修正といくつかの新機能の追加だと説明されています。

    「GNU Bash 5.0」リリース、10年ぶりのメジャーバージョンアップ
    iR3
    iR3 2019/01/09
    ふむふむ
  • Bash カラープロンプト - ArchWiki

    Bash には複数のプロンプトが存在しカスタマイズすることで効率を高めたりセンスを良くしたりオタクっぽくできます。 Bash にはカスタマイズ可能な5つのプロンプト文字列が存在します: PS0 は、コマンドの入力が完了した後で、そのコマンドの出力が開始される前に表示されます。(つまり、コマンドの実行開始直前。) PS1 は、コマンドの入力が開始される前に表示されるプライマリプロンプトです。なので、ほとんどの人がカスタマイズするのはこのプロンプト文字列です。 PS2 は、コマンドにさらに多くの入力 (例えば複数行のコマンド) が必要とされる際に表示されるセカンダリプロンプトです。 PS3 は滅多に使われません。これは、Bash の select 組み込みコマンドによってインタラクティブメニューが表示されるときに使われるプロンプト文字列です。他のプロンプトと違って、このプロンプトでは Bash

    Bash カラープロンプト - ArchWiki
    iR3
    iR3 2018/01/11
    ふむふむ “infocmp” とかあるのね
  • Bashのプロンプトに色を付けてサーバやユーザを区別する - Qiita

    表示例 エスケープシーケンスの構造 記号ばかりでややこしいため図にしてみました。 色以外の \u などについては以下のページが参考になります。 bashのプロンプトを変更するには (atmarkit) 他の色のサンプル 改行について 元々、エスケープシーケンスがあると入力コマンドに折り返しが発生するあたりで表示がおかしくなったので改行を入れて対策していましたが、コメントで教えて頂いた通り、これは先頭の \[ を入れ忘れてたのが原因でした。 違和感あるかも知れませんが、プロンプトに出す情報を増やしても画面が狭くならなくなったのでこれはこれで気に入ってます。 使い所 grepなどで1つ前と2つ前のコマンドの出力の境界を見逃さなくなりました。 開発環境とプロダクション環境の区別や特権ユーザかどうかの区別にも良いと思います。 複数人がログインする可能性のあるサーバは、あんまり好き勝手に弄りたくない

    Bashのプロンプトに色を付けてサーバやユーザを区別する - Qiita
    iR3
    iR3 2018/01/11
    ふむふむ
  • bash-completionでserviceコマンドなどの補完を強化しよう

    斎藤です。こんにちは。 今日は、bashコマンドの補完を強化する bash-completion[1] をインストールしてみよう、というお話です。 先日執筆した記事『デーモンの起動・終了にはserviceコマンドを利用しよう』の反響の中に「serviceコマンドは補完が効かない」というコメントを頂いていました。こちらですが、 bash-completion を入れると補完が効くようになります。そこで、先日の記事の補足として、お話ししたいと思います。 ※ bash-completion は1.2を用いています そもそも bash-completion で何ができるの? bash-completion は、次のコマンドの入力補完を行えるようにするためのソフトウェアです。次のコマンドが対象となっています。 $ pwd /tmp/bash-completion-1.2/contrib $ ls _

    iR3
    iR3 2017/09/14
    ふむふむ
  • 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の関数機能は、環境変数の中でも使える仕様になっています

  • BASHの脆弱性でCGIスクリプトにアレさせてみました

    環境変数に仕込まれたコードを実行してしまうBASHの脆弱性が CGIスクリプトに影響を与えるか試してみたら結果は悲惨な感じに Tweet 2014年9月25日 嶋田大貴 この記事は2014年のものです 朝から Bash specially-crafted environment variables code injection attack なるもので騒ぎになっていたので、さっそく手元の Apacheで試してみました。 /hoge.cgiというURIで実行されるように、一行のメッセージを出力するだけの CGIスクリプトを設置します。いっけん、なんの入力もクライアント側から受け付けていないため危険のありようもなく見えます。 #!/bin/sh echo "Content-type: text/plain" echo echo "Hi! I'm an ordinary CGI script w

    BASHの脆弱性でCGIスクリプトにアレさせてみました
    iR3
    iR3 2014/09/25
    該当ケースでは深刻!!
  • 「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開

    脆弱性は多くの一般的な設定でネットワークを介して悪用できるとされ、特にbashがシステムシェルとして設定されている場合は危険が大きい。 LinuxなどのUNIX系OSで標準的に使われているシェル「bash」に極めて重大な脆弱性が見つかり、9月24日に修正パッチが公開された。攻撃者がbashにコマンドを送って任意のコードを実行できる可能性が指摘されており、米セキュリティ機関のSANS Internet Storm Centerなどはパッチ適用を急ぐよう呼び掛けている。 関係各社のアドバイザリーによると、bashで特定の細工を施した環境変数を処理する方法に脆弱性が存在する。悪用された場合、攻撃者が環境制限をかわしてシェルコマンドを実行できてしまう恐れがあり、特定のサービスやアプリケーションでは、リモートの攻撃者が認証を経ることなく環境変数を提供することも可能になる。 この脆弱性は、多くの一般的

    「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開
  • 役に立つかもしれないbashプロンプトの3tips|TechRacho by BPS株式会社

    ここで言うプロンプトはコマンド打つときにいつもでるアレです bashではPS1変数で変更できます 知っておくと便利かもしれないtipsを3つ紹介 1. 色を付けられる プロンプトもターミナルで表示されるのでエスケープシーケンスが使えます 設定方法は簡単で \[\033[カラーコードm\]と\[\033[00m\]で囲むだけです カラーコードはこんな感じです Black 0;30 Dark Gray 1;30 Blue 0;34 Light Blue 1;34 Green 0;32 Light Green 1;32 Cyan 0;36 Light Cyan 1;36 Red 0;31 Light Red 1;31 Purple 0;35 Light Purple 1;35 Brown 0;33 Yellow 1;33 Light Gray 0;37 White 1;37 背景色も指定できるの

    役に立つかもしれないbashプロンプトの3tips|TechRacho by BPS株式会社
    iR3
    iR3 2014/05/19
  • 1