サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
alligatorswamp.hatenablog.com
bashは、while文の中でexitを実行してもシェル自体は終了せず、whileを抜けるだけになる。 while内は小プロセスとして扱われるらしい。 サンプルコードは以下。 #!/bin/bash cat << END >> animal_list cat dog alligator END cat animal_list | while read animal do echo $animal if [ $animal = "dog" ]; then echo "中断!" exit 1 fi done echo "だが終わってない" exit 0 上記コードを実行するとこうなる。 cat dog 中断! だが終わってない なので、中断したい場合はwhileを抜けた後に、以下の様な判断する必要がある。 if [ $? -eq 1 ]; then exit 1 fi また、for文内だと子プ
階層の深いディレクトリを作成するとき、mkdir -pのように一気に作ろうとrecipeを作った。 directory '/home/user/foo/bar' do owner 'user' group 'user' mode '0755' recursive true end しかし、これだとownerとgroupとmodeの指定が、一番深い階層のディレクトリ(bar)のみに適用され、中間のディレクトリ(foo)には適用されないので、以下のように書く必要がある。 %w[ /home/user/foo /home/user/foo/bar ].each do |path| directory path do owner 'user' group 'user' mode '0755' end end 公式ドキュメントにも書いてた。 http://docs.getchef.com/chef/
バージョン Path::Class 0.33 Path::Tiny 0.056 オブジェクト生成 Path::Classで生成したオブジェクトは、ファイルはPath::Class::File、ディレクトリはPath::Class::Dirとなる。Path::TinyはどちらもPath::Tinyとなる。 # Path::Class $file = file($path); $dir = dir($path); # Path::Tiny $file = path($path); $dir = path($path); ディレクトリ配下のファイルオブジェクト生成 # Path::Class $file = $dir->file($name); # Path::Tiny $file = $dir->child($name); ディレクトリ配下のディレクトリオブジェクト生成 # Path::C
EC2上のログを、td-agentとfluent-plugin-cloudwatch-logsを使ってCloudWatch Logsに送信しようとしたところ、SSL認証エラーが発生したので、エラーの解決方法を調べたのでまとめてみた。間違っている箇所があれば指摘ください! before_shutdown failed error="SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed" tl;dr EC2でtd-agent使ってCloudWatch Logsにログを送信する場合は、/etc/sysconfig/td-agentに以下を追記すると上手くいくはず。 export SSL_CERT_FILE=/etc/pki/tls/cert.pem バージョン
参考にさせていただいた記事 検索・置換に便利なヤンク(レジスタ)【Vimコマンド】にさん追加7/3 - YKMbPP やりかた Ctrl+rを押した後"を入力すると、入力モードやコマンドラインモードでもヤンクした内容をペースト出来るようなので、以下の手順で複数行ペーストが可能です。 Ctrl+vで矩形選択モードにする 範囲選択したあとにCtrl+Iで入力モードにする Ctrl+rを押して"入力でヤンクした内容をペースト ESCで抜けて複数行に反映 文字だと分かりづらいのでGIFアニメ
やること Heroku上でHubotを動かす SlackとHubotを連携する Hubotリポジトリに変更があればTravis CIに検知させて自動デプロイ デプロイ完了したらSlackに通知 以上を無料枠で 前提 Mac OSX 開発環境として使用 以下のアカウントは作成済み Slack GitHub Heroku Travis CI HerokuのBillingは設定済み Add-onsを使用するために必要 GitHub上にHubot用のリポジトリを作成済み Hubotを作成 必要なアプリケーションをインストール brew install node redis npm install -g hubot coffee-script Hubotの雛形を作成 (名前はお好みで) hubot --create foobar-hubot cd foobar-hubot Slack用のアダプターを
環境 CentOS 5.6 GitLab 5.1 (アップデート前) 問題 GitLabのバージョンを5.1から5.2にアップデートすると、 bundle install時にcharlock_holmsのインストールエラーが発生する。 原因 CentOS5系の標準リポジトリで提供されているICUは3.6だが、 GitLab 5.2が使用するcharlock_holms 0.6.9.4が要求するICUは4.2以降なので、 bundle install時にエラーが発生した。 何故GitLab5.2で発生したか charlock_holms 0.6.9.3から、ICU 4.2で組み込まれたStringByteSinkを使うようになった。 GitLab 5.1ではcharlock_holms 0.6.9を使用していたが、 GitLab 5.2からcharlock_holms 0.6.9.4を使用す
Jenkinsのジョブをリモートから実行するには以下のURLにアクセスすれば良いが、パラメータ付きジョブだとエラーとなる。 http://JENKINS_URL/job/JOBNAME/build公式ドキュメントにはJSONを利用する必要があると書かれているが、buildの代わりにbuildWithParametersを使えば、パラメータ付きで実行可能である。 http://JENKINS_URL/job/JOBNAME/buildWithParameters?PARAM=VALUEハマったのでメモ。 オライリーのJenkins本に助けられました。 Jenkins 作者: John Ferguson Smart,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2012/02/22メディア: 大型本購入: 12人 クリック: 345回この商品を含むブログ (38件) を
IDE環境からVimに移るときにネックだったのが、ディレクトリやファイルのツリー表示がない事だったんですが、なんとその悩みを解決してくれるプラグインがあるそうで。 インストールして試してみました。 スクリーンショット インストール NeoBundle使ってるなら.vimrcに以下の記述を追加でOK NeoBundle 'scrooloose/nerdtree' それ以外の場合はGitHubのリポジトリのREADMEを参照のこと。 使い方 Vimを起動して以下のコマンドを入力すればツリーが表示される。 :NERDTreeツリー上での詳しい使い方はVim起動中に以下のコマンドで閲覧可能。 :help NERD_tree.txt自分が主に使うコマンドはこれくらい。 o ディレクトリを展開 or ファイルを開く t ファイルを新しいタブで開く u 親ディレクトリをカレントに指定 C 指定ディレクト
このページを最初にブックマークしてみませんか?
『alligatorswamp.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く