全力で怠けたい

怠けるために全力を尽くしたいブログ。

shell

シェル力が圧倒的に足りてないのでシェル力を養うために第13回シェル芸勉強会の問題に挑戦してみた。

はじめに 第13回シェル芸勉強会の問題に挑戦してみた Q1 Question Answer Q2 Question Answer Q3 Question Answer Q4 Question Answer Q5 Question Answer Q6 Answer Answer Q7 Question Answer Q8 Answer 参考サイト シェル力が圧倒的に足りてないのでシェ…

プログラムのちょっとした動作を確認するときはシェルが役に立つメモ。

Go を勉強している人が「Go の bufio パッケージのScanner.Err() に non nil の error を返させたい」と言ってたのでシェルを使ったら簡単にやれますよ、と話をしたときのメモ。 相手の人が書いてた Go のプログラムはこんな感じ。 // main.go package main …

shebang はシェル以外の実行可能ファイルも指定できるメモ。

shebang はシェル以外の実行可能ファイルも指定できる sed スクリプトファイルの shebang awk スクリプトファイルの shebang shebang に書くパス 参考サイト shebang はシェル以外の実行可能ファイルを指定できるのを知ったので書いておく。 shebang はシェ…

シェル力が圧倒的に足りてないのでシェル力を養うために第12回シェル芸勉強会の問題に挑戦してみた。

はじめに 第12回シェル芸勉強会の問題に挑戦してみた Q1 Question Answer Q2 Question 小問1 小問2 Answer 小問1 小問2 Q3 Question Answer Q4 Question Answer Q5 Question Answer Q6 Question Answer Q7 Question Answer Q8 Question Answer 参考サイト シ…

シェル力が圧倒的に足りてないのでシェル力を養うために第9回シェル芸勉強会の問題に挑戦してみた。

はじめに 第9回シェル芸勉強会の問題に挑戦してみた Q1 Question Answer Q2 Question Answer Q3 Question Answer Q4 Question Answer Q5 Question Answer Q6 Question Answer 小問1 小問2 小問3 Q7 Question Answer Q8 Question Answer 参考サイト シェル力…

シェル力が圧倒的に足りてないのでシェル力を養うためにシェル芸勉強会の問題に挑戦してみた。

はじめに 第10回シェル芸勉強会の問題に挑戦してみた Q1 Question Answer Q2 Question Answer Q3 Question Answer Q4 Question Answer Q5 Question Answer Q6 Question Answer Q7 Question Answer Q8 Question Answer 参考サイト シェル力が圧倒的に足りてな…

Mac の sed とか tr が illegal byte sequence エラーになるときの回避方法のメモ。

sed とか tr が illegal byte sequence エラーになる どんなことがおきるか どうしたら回避できるか Mac の sed とか tr が illegal byte sequence エラーになるときの回避方法のメモ。 sed とか tr が illegal byte sequence エラーになる どんなことがおき…

Bash でタブとかの制御文字を入力するやり方のメモ。

Bash でタブとかの制御文字を入力する Ctrl-v + 制御文字 $'\文字' Bash でタブとかの制御文字を入力するやり方をたまに聞かれるのでメモしておく。 Bash のバージョン。 $ bash --version GNU bash, version 5.1.4(1)-release (x86_64-apple-darwin19.6.0) …

シェル変数を読込専用にするメモ。

シェル変数を読込専用にする readonly コマンドでシェル変数を読込専用にする シェル変数を読込専用にするやり方のメモ。 シェル変数を読込専用にする readonly コマンドを実行するとシェル変数を読込専用にすることができるのでそのへんをメモしておく。 re…

シェルのあんまり使わないパラメータ展開のメモ。

シェルのあんまり使わないパラメータ展開のメモ ${#パラメータ}: 文字列の長さを求める ${パラメータ#パターン}: パラメータの値の先頭から パターン に一致する最短の部分を取り除く ${パラメータ##パターン}: パラメータの値の先頭から パターン に一致す…

シェルのパラメータ展開のメモ。

シェルのパラメータ展開のメモ ${パラメータ:-値}: デフォルト値の指定 - 1 ${パラメータ-値}: デフォルト値の指定 - 2 ${パラメータ:=値}: デフォルト値を代入する - 1 ${パラメータ=値}: デフォルト値を代入する - 2 ${パラメータ:+値}: パラメータが指定…

シェルで小数点以下を四捨五入して整数にするやり方のメモ。

シェルで四捨五入するやり方 awk を使って四捨五入する printf 関数を使って四捨五入する 参考サイト シェルで小数点以下を四捨五入して整数にするやり方のメモ。 シェルで四捨五入するやり方 シェルでたまに小数点以下を四捨五入して整数にするけどたまにす…

シェルの case でよく使うような気がするやつを軽くメモ。

シェルの case でよく使うような気がするやつ case の基本的な書き方 ?: 任意の1文字に合致 *: 任意の複数文字に合致 []: [ と ] で囲んでいる任意の文字に合致 [!]: [ と ] で囲んでいない任意の文字に合致 |: 複数のパターンのいずれかに合致 シェルの cas…

シェルのリダイレクトでわりと使うやつのメモ。

シェルのリダイレクト 標準出力のリダイレクト 標準エラー出力のリダイレクト 標準入力とかのリダイレクトで使うファイルディスクリプタ 標準入力のリダイレクト ヒアドキュメント 標準出力をファイルにリダイレクトして空っぽのファイルを作る 参考サイト …

curl コマンドでメッセージを Slack に post するメモ。

curl コマンドでメッセージを Slack に post シンプルなメッセージ ファイルのアップロード 参考ページ Slack はデスクトップアプリとかブラウザーで使っているけど CLI からメッセージを post したりファイルをアップロードしたりがちょいちょいあるので、c…

EBS ボリュームを EC2 インスタンスに追加と削除する方法。

EBS ボリュームの追加 追加する EBS ボリュームの作成 EBS ボリュームを EC2 インスタンスへアタッチ EBS ボリュームのファイルシステムの作成 EBS ボリュームのマウント EBS ボリュームの削除 EBS ボリュームのアンマウント EBS ボリュームのデタッチ EBS …

apk ファイルと ipa ファイルのバージョンを雑に確認するシェルスクリプトを書いた。

apk ファイルと ipa ファイルのバージョンを雑に確認するスクリプトを書いたときのメモ。 やりたいこと apk ファイルで知りたいのは android:versionName と android:versionCode の2つ。 このあたりの情報は aapt コマンドを使って apk ファイルから取得で…

Redash のバックアップとリストアのメモ。

サービスの運営で Redash を使っていて運営メンバーは結構カジュアルにクエリとかいじってもらっているので、バックアップとリストアといった運用上必須なところをどうしているかをメモしておく。 はじめに Redash は 公式の AMI を使って AWS 上に構築して…

AWS CLI で意図していないプロファイルを使ってしまうのを防止するコマンドを書いたメモ。

AWS CLI で意図していないプロファイルを使ってしまうのを防止するコマンドを書いたメモ。 動機 AWS CLI はプロファイルを --profile オプションや AWS_DEFAULT_PROFILE 環境変数で指定できるようになっていて AWS アカウントや IAM ユーザーが複数あっても…

ipa ファイルから CFBundleVersion を確認するワンライナーのメモ。

ipa ファイルから CFBundleVersion を確認するワンライナーのメモ。 したいこと ipa ファイル (iOS のアプリ) しかない状態で CFBundleVersion を確認したい。 中間ファイルとかは作りたくない。 確認する方法 CFBundleVersion は ipa ファイルのなかの Payl…

AWS の CloudWatch ロググループの保持期限を一括で設定するメモ。

AWS の CloudWatch ロググループの保持期限を一括で設定するメモ。 コンソールからたくさんのロググループの保持期限を手で変更していくのが面倒くさかったので AWS CLI で一括設定。 やったこと aws logs describe-log-groups コマンドで全ロググループを取…

シェルで '{' を使った複数ファイルの指定が地味にいろいろと便利。

シェルはワイルドカードを使ったり '[', ']' を使うと複数ファイルを指定することができる。 最近 '{', '}' を使って複数ファイルを指定できることを知ったのでメモ。 例 深い階層のファイルを操作するときとか地味に便利。 $ mkdir temp/{a,b} $ tree ~/tem…

ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。

ipa ファイルからプロビジョニングプロファイルの期限を確認するメモ。 したいこと ipa ファイル (iOS のアプリ) しかない状態でプロビジョニングプロファイルの有効期限を確認したい。 中間ファイルとかは作りたくない。 確認する方法 プロビジョニングプロ…

利用できる iOS シミュレーターをざっくり確認するときのメモ。

利用できる iOS シミュレーターをざっくり確認するときのメモ。Xcode の Devices & Simulators から確認できるけど、普段 Xcode を使わないのでコマンドラインからざっくり確認したい。こんなときは Xcode のコマンドラインツールである simctl コマンドを使…

Ubuntu 14.04 LTS のハードディスクイメージ zip ファイルの解凍に失敗したときのメモ

Virtual Box 用の Ubuntu 14.04 LTS のハードディスクイメージ zip ファイルの解凍に失敗したときのメモ。 ハードディスクイメージ zip ファイルの解凍に失敗 Ubuntu 公式サイトからハードディスクイメージをダウンロードして unzip したら解凍に失敗した。…

zsh を vi キーバインドでコマンド履歴検索

シェルも vi キーバインドで 普段 Vim を使っていると zsh も vi キーバインドで使いたいものです *1 zsh を vi キーバインドにするためには .zshrc 等に以下の一文を追加します。 bindkey -v コマンド履歴検索 さらに zsh のコマンド履歴検索を簡単に行うた…