タグ

shellに関するpirosikickのブックマーク (3)

  • ブログ名は後で考える: シンボリックリンクの張替え

    PHP使ってると使用頻度の高いSmartyとかZendFrameworkとか。 多分に漏れず私もよくお世話になってますー。 大抵はどこか置き場所を決めて、'Smarty-2.6.26'の様にバージョン含んだディレクトリ名のまま集めといて、そのサーバで主に使うバージョンにはバージョン無しで(Smartyなら'Smarty'という名前で)シンボリックリンクを張って、シンボリックリンク経由で使うようにしている。 そんな運用方法をしていながらずっと悩んでたのが、既にあるシンボリックリンクを削除せずにリンク先を変更する方法。 だって、新しいバージョンに切り替える時とか、リンク先を変更したい事は結構多いけど、 普通にln -sしたって上手い事リンク先が上書きされるとか、そんな事にはならないし。 だからって一旦削除して作り直しをすると、 タイミング悪く削除して作られる前の瞬間にアクセスしてくる人が居ない

  • シェルスクリプトを書くときはset -euしておく - Qiita

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

    シェルスクリプトを書くときはset -euしておく - Qiita
  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

    いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記
  • 1