bashで一行で複数変数の代入を行った場合の処理順に関して、後ろの代入処理で、それより前に代入した変数の値が使えるのかな?というとても些細な事の確認をしたメモ。 確認作業 結論としては、前の代入から順番に行われるので、後ろの代入で前の変数の値が使えることが分かった。 以下、確認作業。 $ #既存の変数値の紛れがないよう、リセットしておく $ a= b= $ #これでbにaの内容が入るか? $ a=hoge b=$a $ #入った! $ echo $a $b hoge hoge
NEW! 最新のやり方 最新の macOS Shierra 10.12.6 なら特別な設定など不要で ⌘+Shift+. だけでOKです! 過去に頑張った歴史 Mac のファイルエクスプローラーである Finder。こいつはデフォルトでは隠しファイル(ピリオドで始まるファイル名)を表示してくれません、そしてこの隠しファイルを表示させる手順が案外面倒くさいので、僕が納得する使い勝手になるまで色々試してみた記録です。 v1: Finder の設定を書き換えて再起動 Finder で隠しファイル(dotfiles)を表示する方法をググると山のように出てくる方法があります。それは defaults というコマンドで設定を書き換えてFinder再起動するっていう方法です。 ## 隠しファイルON defaults write com.apple.finder AppleShowAllFiles tr
はじめに vim のプラグイン管理ではこれまで NeoBundle がデファクトだったけど、今後は dein.vim を使えってことなので移行してます。 で dein#add で追加したプラグインの設定をどこでどう書くかを色々試した結果、TOML管理機能を使うのが一番よさげ、という結論に至ったので、こうしておくとよさそうという現時点での僕の設定を書いておきます。 設定例 init.vim (neovimじゃない場合は.vimrcと読み替えてOK) は最終的に↓こんな感じに凄くシンプルになった。 if !&compatible set nocompatible endif " reset augroup augroup MyAutoCmd autocmd! augroup END " dein settings {{{ " dein自体の自動インストール let s:cache_home =
glibcの脆弱性対策(取り急ぎiptables/firewalldで叩き落とす!)for CVE-2015-7547LinuxSecurityiptablesfirewalldglibc はじめに glibcでヤバメな脆弱性キター! 「glibc」ライブラリに脆弱性、Linuxの大部分に深刻な影響 - ITmedia エンタープライズ Google Online Security Blog: CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow CVE-2015-7547: Critical Vulnerability in glibc getaddrinfo - SANS Internet Storm Center Carlos O'Donell - [PATCH] CVE-2015-7547 --- glibc ge
はじめに 本当は変態補完関数やtty操作系のネタをやろうと思ったんだけど、忙しさにかまけてエントリに纏められなかったのでもう少しライトなネタを探してたら丁度今日↓こんなネタが湧いてきたので、じゃコレを簡単に使うコマンド作ってみよう! Amazon Web Services ブログ: EC2 Run Commandアップデート – Linuxインスタンスで利用可能に てことでアドベントカレンダー18日目は、締切2時間前から突貫で書き上げたネタです。ホントは引数処理とかもう少しだけ足して普通に使えるコマンドにしたかったんですがそれは後日追記ということで…、今日は基本的な実行が出来るまでを作ってみました。 Requirements 必要なもの サーバ側 awscli(最新) amazon-ssm-agent がインストールされたEC2インスタンス パブリックIP(NATとかでも良い、必要なのはs
追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだった本エントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de
多分現在主流のRSSリーダーであるFeedlyが少し前にようやくAPIを公開してくれたので、オレオレリーダーを作る為の下調べをしてみた。最初戸惑ったが色々API叩いてるうちに大体わかってきたのでメモる。 APIドキュメント: http://developer.feedly.com/v3/ IDの種類と形式 userId - user/:userId feedId - feed/:feedUri categoryId - :userId/category/:categoryName 特殊カテゴリ: global.all, global.uncategorized tagId - :userId/tag/:tagName 特殊タグ: global.saved 認証手順 普通のOAuth2.0だが現在はredirect_uriが制限されているためサイト間認証は使えない。 http://local
今時のバージョンのOpenSSHではknown_hostsがハッシュ化されてて手動管理がしにくいし、スマートに決めたいのでコマンドでやってみる。 コマンド 結論から書くと↓こんな感じでOK。(target-hostnameのホストキーが変わった場合の例) host="target-hostname" ssh-keygen -R $host ssh-keyscan -H $host >> ~/.ssh/known_hosts ssh-keygen -R hostname は ~/.ssh/known_hosts から対象ホストのホストキーを削除してくれる。 複数あれば全部消してくれるしハッシュ化されてるのもされてないのも全部消してくれるので便利。 known_hostsファイルをエディタで開いてエラーメッセージで指摘された行数まで移動して手で削除するのなんかより100倍楽。 ssh-keys
SSLサーバ証明書の設定に必要なもの 取得したSSLサーバ証明書を実際に設定する際には通常以下の3点が必要になります。 秘密鍵(CSRを作るために使ったもの) サーバ証明書(認証局から発行されたもの) 中間CA証明書(基本は認証局が配布してるんだが、探すのが大変なことがある) 中間CA証明書がよくわからん! 必要なもののうち、秘密鍵とサーバ証明書は1つずつしか無いので混乱は無いのですが、中間CA証明書というのは認証局によってはどこで配布されてるのかあるのか分かりづらいことも多いです。今まで見たパターンには以下のようなものがありました。 メールで送られてくるパターン サーバ証明書と一緒に本文に書いてあるパターン(即コピペで済むので楽ちん系) サーバ証明書と一緒にzip添付されてくるパターン(zipの中にcrtがいっぱい入っててどれをどう使えばよいかよくわからん!) サイトから落とすパターン
画面が常にログで埋まった状態をずっと見ていると、ログが増えた際にログが増えたことに気づかなくなり、時々ログのタイムスタンプを現在時刻と見比べてまだ動いてないな、みたいなことを定期的にしてしまう退屈な状況。 これを解決する簡単なアイデアとして時々Enterを入力して画面上にログの隙間を作っておく事がある。 すると今度はログが入った後にまた適当なタイミングでEnterをしないと、またわからなくなります。 そんな感じで時々Enterを押してたんだけど、これ勝手に空行開いてくれればいいんじゃね?てことでtailする前に以下を実行してみた。
課金ポイントは3つ そんなに難しいことはないと思いますが 課金ポイントは3つ あります。 ストレージ容量 単純に保存容量に対して課金されます。 低冗長化ストレージを指定すると2割くらい安くできます。 ログだとか家族写真の保存だとかメインだとデータ転送よりここにお金がかかってきます。(容量でかいけど古いやつは殆どアクセスしないようなのはライフサイクル設定でGlacierに移動する手もあります) データ転送 課金されるのは(S3からの)送信だけです。受信(S3へのアップロード)は無料です。 また、インターネットへの送信と別のAWSリージョンまたはCloudFrontへの送信で別料金が設定されてますが、小~中規模のシステムならサーバ群は1リージョンに纏まってることが多いでしょうから、CroudFront利用時くらいにしかその料金は発生しないと思います。しかもCroudFront利用時は殆どのトラ
SSLの認証局とか証明書とか勉強し始めはホント難いよね このへんのSSL/TLSの仕組みって勉強し始めの頃は凄く難しく感じるのよね。分かりやすく解説してくれてるサイトってあんま見たこと無いし。 んで、 >>300,304 みたいなことは僕も昔考えたことあったわー、と懐かしみを覚えたのでレスってみた。 証明書を発行できるかどうかは証明書のフラグで決まっている、という >>303 の指摘も重要よね。 以下2chスレより引用 丁寧過ぎると評判のレスをしてるID:UyEJo1f2が僕なわけだがw 2chだとそのうち倉庫に行っちゃうかもしれないのでここにメモ。 【認証局】SSLに関するスレ 2枚目【ぼろ儲け】 http://hayabusa6.2ch.net/test/read.cgi/mysv/1286532904/298-309 298 :DNS未登録さん:2013/05/31(金) 13:31
今日自分が体験したトラブル事例に、ユーザビリティ向上のための気づきがあったのでメモしておきます。 ※本文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 ※本文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 ※本文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 事例:登録時のパスワードでログイン出来ない!? 今日、とあるWEBサイトでユーザ登録を行った際に、登録時に入力したパスワードでログイン出来ないというトラブルがありました。 普通は自分の入力ミスを疑うところですが、登録もログインもコピペで入力しているので入力ミスはありえ無いと思っていました。 お問い合わせフォームからバグ報告 というわけでこれはバグだろうと、お問い合せフォームから以下のような内容の報告
結論 を先に書くと リンク切れのシンボリックリンクは find -xtype l で探せる よ! manによると -xtype c ファイルがシンボリックリンク以外の場合は -type と同じ。シンボリックリンクに対しては以下のように判断される。この判別式の前に -follow が指定されていなかった場合は、リンク先のファイルのタイプが c ならば真。 -follow が指定されていた場合は c が ‘l’ ならば真。つまりシンボリックリンクに対して、 -xtype は -type がチェックしない側をチェックする。 となっており、うーん分かりにくい…。 -typeと-xtypeの違いを確認 まず試験用のファイルを作って… $ touch file $ ln -s file link-file $ ln -s link-file link-link-file $ ln -sf null l
while readするならwhile IFS= readした方が良いかもよっていう話です。 説明は後にして、まずはlsしたファイル名をechoする例で違いを見てみます。 $ touch " abc " "ho ge" $'\txyz' #3つのファイルを作成します ## 普通にwhile readした場合 $ ls | while read f; do echo "[$f]"; done [xyz] [abc] [ho ge] ## IFS= を付けた場合 $ ls | while IFS= read f; do echo "[$f]"; done [ xyz] [ abc ] [ho ge] 違いは一目瞭然ですね。単にreadをした場合は、前後のタブや空白が全て消えてしまっていますが、IFS= をつけた場合はタブや空白もオリジナルのまま読み込めています。ちなみに ho ge の間は空白
これはコマンドの標準出力を1行ずつ f という変数に読み込んで何らかの処理を行うってやつです。 whileの中でやることがファイル操作などの一般的なことならこれで全然問題ないんですが、実行中のシェル環境に対する処理(具体的には変数の設定など)を行おうとすると期待通りにいってくれなくなります。例えばこんな感じ↓ # findで見つけたファイル名をfilesという配列変数に詰め込みたい files=() find -type f | while read -r f; do files+=("$f") done echo "${files[@]}" # 確かにfilesに値を入れた筈なのに空が出力される?? これはパイプで繋げると後ろのwhileがサブシェルで実行されてしまうために起こる現象です。噛み砕いて説明すると… 現在findを実行中のbashとは別に、パイプの後ろでもう一つのbashが起
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く