サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ニコニコ動画
qiita.com/bsdhack
OS X で動作する Safari のユーザーエージェントは 開発 メニューから変更できますが、ウィンドウを閉じるとデフォルトの値に戻ってしまいます。 そこで ターミナル から以下のコマンドを実行するとユーザーエージェントを任意の値に変更できます。 この方法で変更すると Safari を終了しても設定したユーザーエージェントが維持されますので便利。
/* * 毎月/毎週/毎日 実行されるコマンドを cron に登録する * * $date: 毎月実行を指定した場合に実行される日を指定 * $time: 毎日実行を指定した場合に実行される時間を指定 * $dayofweek: 毎週実行を指定した場合に実行される曜日を指定 * $frequency: 実行の頻度 ("MONTH" | "WEEK" | "DAY") * $command: 実行するコマンド */ /* cron への登録 */ if(($cron = popen("/usr/bin/crontab -", "w"))){ fputs($cron, _cronline($date, $time, $dayofweek, $frequency, $command)); pclose($cron); } /* crontab に登録する行情報を生成 */ function _c
シェルスクリプトで AWS の ELB 関係の処理を実行します。 aws コマンドを利用しているので role の設定などにより aws が正しく動作する必要があります。 add2as EC2 インスタンスを生成して AutoScaling Group に追加します。 処理内容 内部では AutoScaling Policy を取得して実行しているだけです。 AutoScaling されているので AutoScaling Policy に従って自動的に terminate します。 制限 スクリプト中では AutoScaling Group と AutoScaling Policy を自動取得しているので以下に示す制限があります。 AutoScaling Group は1個のみ定義されている事 AutoScaling Policy は 1以上の増分指定されているものを利用 スクリプト中に
例によって blog からの転載です。 写真などの Exif 情報から GPS の緯度/経度情報を削除するための Shll Script です。 Shell Script だって 無理すれば バイナリデータを編集できるという事を示したモノで、殆どネタとしか思えない様なスクリプトになっていますが、シェルスクリプトでバイナリデータを扱うさらにもう一つの方法なので参考になればと思い投稿してみます。 処理内容は、画像ファイルに格納されている Exif 情報を簡単に解析して GPS 情報を格納している領域 (GPSInfoIFD) から緯度/経度情報だけをゼロに置換する処理となっています。 #!/bin/sh # # Endian を考慮して 4 バイト数字を取得する # 一度 od(1) で 16 進数に変換しバイト並びを修正した後に 10 進数に変換する # # $1: ファイル # $2: オ
またまた blog からの転載ですが。 対話シェルとして使用する bash (1) のコマンドライン履歴機能の便利な使い方。 bash (1) のコマンドライン履歴機能のうちイベント指示子、単語指示子、修飾指示子は オンラインマニュアルにも情報が少ないが、慣れると非常に便利でキータイプ量も減るので是非マスターしておきたい。 以下の文中で n、m は任意の整数、 foo、bar、baz などは任意の文字列を示す。 機能一覧 イベント指示子 記述 機能
シェルスクリプトでスクリプト自身のパスを取得する方法。 以下の処理でシェルの種類に依存せず(とは言っても bourne shell 系のみだが) シェルスクリプト自身のパスを取得する事ができる筈。 #!/bin/sh # ${0} の dirname を取得 cwd=`dirname "${0}"` # ${0} が 相対パスの場合は cd して pwd を取得 expr "${0}" : "/.*" > /dev/null || cwd=`(cd "${cwd}" && pwd)` Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use da
ブログネタなんですが、こちらで公開した方が大勢の目に触れると思うので… コマンド command1 の出力結果と コマンド command2 の出力結果を diff (1) で比較したい場合、bash (1) の場合は以下の様にする事で簡単に比較できる。
amazon ec2 の現在の状態を API を利用して取得するスクリプトを作成している時に気がついた事です。 入力行に "running"、"stopping"、"stopped"、"pendding" のいずれかの単語が含まれる場合にその単語を抽出する処理ですが、 awk (1) の組み込み関数 sub()、gsub() ではマッチした部分の後方参照ができないのでマッチしたパターンに応じた変換を一度に行う事ができず、それぞれのパターンにマッチングさせて処理をするしかありません。 awk ' /^INSTANCE.*running/{ print running; } /^INSTANCE.*stopping/{ print stopping; } /^INSTANCE.*stopped/{ print stopped; } /^INSTANCE.*pending/{ print pen
Xcode で iPhone 向けのプログラムを作成していると、慣れ親しんで身体の一部と化したエディタがどうしても使いたくなる。 そんな時は OSX の基本的な機能を利用するだけで簡単に好きなエディタで編集する事ができる様になるので作業効率が3倍に! Finder.app で関連づけする .m、 .h ファイルをファインダで右クリック→情報をみる(もしくはコマンド+iキーを押す)で表示される画面の中程『▽このアプリケーションで開く:』の選択肢から MacVim(もしくは好きなエディタ)を選択肢、『すべてを変更…』ボタンをクリックする。 コントロールパネル→キーボード→キーボードショートカットを開いて左側の枠から『アプリケーション』を選択。 3.真ん中あたりの『+』をクリックして『アプリケーション」から Xcode を選択、『メニュータイトル』に Open with External Edi
unix 系 OS では ${PATH} 環境変数を参照してコマンドの検索パスを指定する事ができます。 通常はログイン時にシステムデフォルトのコマンド検索パスが ${PATH} に自動で設定されていますが、ユーザ毎のシェルのログインファイル (${HOME}/.profile 等)で自分用のコマンド検索パスを追加設定する事が多いと思います。 ここで気をつけるべきは ${PATH} 中のヌルパス (::) はカレントディレクトリ (.) と同等に扱われてしまう事です。 例えば
こちらも blog からの転載。 シェルスクリプトを作成する際にシェル変数に値を代入したり参照したりする事は頻繁に発生するが、 シェル変数の展開にも便利な使い方がある。 basename (1) や dirname (1) と同様な動作がシェルの組込みとして利用できるので資源の節約にもつながり、 上手に利用すると可読性の高いスクリプトが作成できる。 機能一覧 記述 機能
こちらも自分の blog からの転載 シェルスクリプトを作成する時に知っておくと便利な小技たち exec > ファイル 以降の標準出力を全て ファイル に出力するので この設定をしておくと簡単な実行ログが取得出来る。 同様に exec 2> ファイル とすると 標準エラー出力が全て ファイル に出力されるので エラーログが取得できる。 当然 exec > ファイル 2>&1 とすれば 標準出力も標準エラー出力も取得できる。 ファイル に /dev/null を指定すれば スクリプト実行中の出力は全て抑止されるので、cron (8) から実行される場合などでは便利な場合もある。
OS X 10.5 以降で起動時に任意のコマンドを自動で実行したい場合、本来であれば launchd(8) を使用した制御が必要なので /System/Library/LanchDaemons/ 以下に plist ファイルを準備する必要がありますが、/Library/StartupItems にコマンド起動用のスクリプトファイルを設置する事で、起動時に任意のコマンドを実行できます。 基本は普通のシェルスクリプトですので、シェルスクリプトに慣れている場合はこちらの方が使いやすいかも知れません。 /Library/StartupItems に任意の名称のディレクトリを作成する ここでは "サービス" とします。
業務系のシステムでシェルスクリプトを使用している場合など、 多重起動の防止などで排他制御が必要な場合が多々あると思いますが、その様な場合に役に立つシンボリックリンクを利用したシェルスクリプトでの排他制御方法です。 ただし、あくまでもシェルスクリプトによる処理ですので、厳密な意味での排他制御にはなり得ないために タイミングによってはどうしても多重起動してしまう危険性がある事は考慮しておく必要があります。 この処理では自分自身のプロセス ID をロックファイルとしてシンボリックリンクして利用しているので、排他制御を実施したプロセス ID が簡単に確認できる様にするとともに、何らかの理由で不正にロックファイルが残ってしまった場合にプロセス ID を確認する事で簡単にリカバリ可能としています。 なお、プロセス確認のために /proc を参照しているので、 Linux など /proc が存在するシ
あくまでも個人的な意見であって、自分がシェルスクリプトを書く時に気をつけている事を備忘録的に列挙しているだけです。 「こうするべきだ」と押しつけている訳ではありません。 勿論「私はこうしている」とか「こうすると良いよ」という意見や議論は大歓迎です。 export (1) しないシェル変数は全て小文字で書く。 PATH や HOME などは環境変数なので大文字で。 スクリプト内で使っているのは単なるシェル変数なので小文字で。 使い方をちゃんと区別する事は重要だと思う。 シェルの変数展開を活用しよう
このページを最初にブックマークしてみませんか?
『@bsdhackのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く