Home

timeコマンドの出力先はどこなのか?

timeコマンドの出力先が標準出力だったか標準エラー出力だったかを確認しようと思って,コマンドを叩いてみた. $ time echo foo 1>/dev/null real 0m0.000s user 0m0.000s sys 0m0.000s $ time echo foo 2>/dev/null foo real 0m0.000s user 0m0.000s sys 0m0.000s 標準出力も標準エラー出力も出力先ではない??じゃあ出力されているのはなんなんだ..man timeで確認してみる. ...When command finishes, time writes a message to standard error giving...

Read more

declare -rとreadonlyの関係について

bashのshellscriptを書くときに,変数を書き換え不可にして定義をしたいときがよくある. #!/bin/bash FILEPATH=$0 ... FILEPATH=another_value この場合,${FILEPATH}はこのスクリプトファイルへのパスなのだから後で別の値を代入できるようにしたくない.今までこのようなときはreadonlyのbuiltin commandを使って実現していたが,declare -rという定義の方法でも同じことができるらしい.何か違いがあるのかを調べてみた. 結論から言うと,変数のスコープに違いが生じる.declare -rはローカルスコープ, readonlyはグローバルスコープになる. #!/bin/bash functio...

Read more

bashで.inputrcの設定を読み込むには

仮想環境を構築した後,そこでしばらく作業する予定のときは.inputrcファイルに大文字小文字に依らず補完できる設定を書いて作業をするようにしている (set completion-ignore-case onを記述) のだけど,その設定を反映させるのにどうすればいいかやるたびに忘れるのでメモ. bind -f ~/.inputrc # もしくは,\C-x\C-r (re-read-init-file)でもOK. bindはReadline (bashのコマンドラインを制御するライブラリ) で有効になっているkeyやfunctionを表示したり設定したりするshell builtin command.-fオプションで次に続く引数のファイルから設定を読み込む. デフォルトでは\C...

Read more

treeコマンドで文字化けを防ぐ (+他のオプション)

treeコマンドを使ってると、日本語のファイル名が文字化けしてしまい困っていた。 $ ls file.txt ファイル.txt $ tree . . ├── file.txt └── �\203\225�\202��\202��\203�.txt 0 directories, 2 files tree -Nのオプションを使えば、マルチバイト文字もそのまま表示してくれるので文字化けは起きないようだ. -N: Print non-printable characters as is instead of as escaped octal numbers. $ tree -N . ├── file.txt └── ファイル.txt 0 director...

Read more

zshでタブ補完のときにエラーが出る

zshでタブ補完をしようとすると, (eval):setopt:3: no such option: NO_warnnestedvar のようにエラーが出る.補完自体はできるのだが,補完するたびに出力されるので困る. $ /bin/zsh --version zsh 5.2 (x86_64-apple-darwin16.0) $ /usr/local/bin/zsh --version zsh 5.4.1 (x86_64-apple-darwin16.7.0) /usr/local/bin/zshを起動させたところ,タブ補完でエラーメッセージは出なかった.tab-completionで認識してるzshとログインしているzshにバージョンに食い違いがある,ということだろうか?...

Read more

suで他のユーザーに切り替えができない

EC2インスタンスで作業を行っていたとき,他のユーザーでの操作を確認したい場面があったので $ sudo su user1 と入力したところ, This account is currently not available. と言われてユーザーの切り替えに失敗した.とりあえず出力されたメッセージでググってみる. “This account is currently not available” … Please helpがヒットした./etc/passwdの中身を変更して/sbin/nologinにしたせいでrootアカウントに入れなくなった?らしい.対象ユーザーがrootかどうかの違いはあるものの,自分と似た現象が起こっている./etc/passwdの中身を確認する. $...

Read more

本番環境のレスポンシブ対応の挙動がローカルと異なる

自分が運営しているサイトのレスポンシブ対応の挙動が,ローカルで見たときと本番環境で見たときで異なっていることに気づいた. 左がローカルで動かしたときのサイトのトップページ,右が本番環境でのサイトのトップページ. 圧倒的に本番の方が見にくい.これは何とかしないと困る.挙動が異なるということは,ローカルでは読み込まれていたcssが本番環境では読み込まれていない,ということが起こっているのだと思われる. ググってみたところ,ローカルとサーバーでCSSの挙動が異なるときに考えられる2つの原因というサイトがヒットした.ここにはOSの違いやブラウザのレンダリングモードの違いによって,ファイルパスやcssセレクタの大文字小文字の違いの解釈が異なることにより読み込まれない場合があると書かれてい...

Read more

gmail内のメールを別のアカウントに移行する

自分のアカウントのgmailの容量が増えてきて,google driveの容量を圧迫していたのでサブ垢にメールを全部移行する. 注意: 本記事のメール移行スクリプトの実行は自己責任でお願いします.本記事を読んで実行した結果について,当方は責任を一切負いません. 手順 移行したい方のgoogle accountにログインし,google driveのページを開く.Google Drive 左にあるNewと書いてあるボタンをクリックし,→More→Google Apps Scriptをクリックする. 注: Google Apps Scriptが選べないときは,New→other→Connect more appsでGoogle Apps Scriptを検索してインストール...

Read more