【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう
はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) ret=$(echo "$li…
View Articlegit commit時に、デバッグ用コードの消し忘れをチェックしたい
概要 開発をしていると、個人的なデバッグのためにログ出力用のコードを埋め込むことがあります。 しかし、最終的な成果物としてそれらのコードは入れるべきではありません。 注意深く消し忘れを確認しているつ…
View Articleterraform plan の結果だけを粛々とログに自動保存する
plan の結果をログなどに溜めておきたいことがある。 以下のようなコマンドを .bashrc に書くことで、plan/apply 時の標準出力をログに力技で保存することが可能。 terraform…
View ArticleDocker コンテナ内シェルのカラー設定
モチベーション DockerコンテナにSSH接続した際、基本的にカラー設定は無効化されている。無色だと作業効率が落ちるのでカラー化したいが毎度プロンプトや ls や grep などの各種色設定をログ…
View Articlejq コマンドでフィルタリング後の件数を取得する
元データ sample.json [ { "id": "1611", "datetime": "1960-11-04T21:59:55.719Z", "tags": [ "アニメ" ] }, { "…
View ArticleAWS ElasticIPで日本のIPを確保するためのスクリプト
経緯 某日本の企業が運営するファイルサーバにEC2からアクセスを試みるも、国外からのアクセスがブロックされているらしく。 で「Elastic IP アドレスを割り当てる」を100回ほど手で繰り返し…
View ArticleDockerコンテナ内のコマンド履歴を永続化してfzfで検索する
docker-composeコマンドはEOLになったCompose V1のコマンドで、非推奨となっています。当記事は現在の開発環境がCompose V2に移行できてないためCompose V1での…
View Articlecross-env + NODE_OPTIONSに複数オプションを格納する
環境 Bash と CMD Nextjs(関係ないですが) 背景 Node V18への移行で、fetch failedエラーが発生したため、NODE_OPTIONSにいくつかのオプションを格納しよう…
View Articlejqコマンドのストリーミング処理 (--stream) をパイプでawkにつなぐ方法のまとめ
はじめに 誰もが知っている通り jq コマンドは JSON をパースするためのフィルタコマンドです。awk コマンドのように検索やデータの処理を行うことができる専用言語を備えています。jq コマンド…
View ArticlePuTTY PPK(V3)をシェルスクリプトで作る
はじめに 背景 本記事は、@ripple_naip氏の記事「PuTTY PPK(V3)をブラウザで作る」に触発されて、シェルスクリプトでもPuTTY PPK(V3)のSSH認証鍵が作れないかどうかを…
View Article【Bash】$RANDOMを使って任意の範囲までの乱数 / ランダムな浮動小数点数を生成
概要 Bashシェルスクリプト$RANDOMを使って、任意の範囲までの乱数を生成したり、小数点以下の範囲で生成したりしましたのでまとめます。 $RANDOMとは Bashシェルスクリプトで使用できる…
View ArticleWeb予約のページがUIが悪かったので、スクリプトを使って予約した
(予約したかった) どんな予約ページだったか 予約をする際、カレンダーに空き情報を表示せず、何月何日何時まで入力して初めて空き情報が確認できるサイトだった。 (しかも人気店で二ヶ月くらい埋まっている…
View ArticleシェルスクリプトでSwithBotのAPI v1.1を呼ぶ
概要 1年前にリリースされた、新バージョンv1.1のSwitchBot APIに、シェルスクリプトでアクセスしたい。 リクエストに署名を付加する要件が追加されたため、ちょっと手順が増えたのでそのまと…
View Articlebashでlinuxのユーザーのパスワードを変更するスクリプトを実行(メモ)
サーバーの移行Prjでセキュリティ上、今までのユーザーのパスワードを変更する要望があったので、まとめてパスワードを変更する やってみたので、メモとして残す。 環境 AWS EC2 RHEL8.8 b…
View ArticleBashにおけるリダイレクト記号の話「>」「>>」「
42Tokyoでbashの一部を再実装する課題でリダイレクトを実装することになったので、 その際に気づいたリダイレクトの挙動について私が調べた範囲で公開します。 大前提 リダイレクトの基本的な使い方 # ファイルを新規作成し入力(もしすでにファイルが存在するなら内容を全削除) command > file # ファイルを新規作成し入力(もしすでにファイルが存在するなら追記) command...
View ArticleLinux のプロンプトを Windows のように変える方法
はじめに どこに需要があるか分かりませんがLinuxのプロンプトをWindowsのように変える方法を書きます。プロンプトってのはコマンドを打つところより左の部分です。~/.bashrcの末尾で環境変…
View Article【衝撃の罠】bashスクリプトのパフォーマンス測定は、対話シェルでやっても無意味だ!
理由 びっくりした。対話シェルで実行してパフォーマンス測定すると何故かめちゃくちゃ時間がかかる。これではデータにならない。 追記 よくよく考えたらパフォーマンス測定だけの問題ではなく実際に遅くなるの…
View ArticlemacOSのterminalで動画の時間を一覧する
ffprive導入すればOK zshでもそのまま動くはず #!/bin/bash for file in *.mp4 do duration=$(ffprobe -v error -show_ent…
View Articleshell scriptでログを出力
はじめに 掲題の通り、ログをファイルに出力するshellを作成しました。 また、定期実行するためにcronにも登録してみました。 shell #!/bin/bash LOG_OUT=./stdout…
View ArticleBashで標準出力と標準エラー出力を別々のファイルに書き出す方法
なにかコマンド 2> 標準エラー出力を書き出す先 > 標準出力を書き出す先 # ファイルに書き出しつつ画面にも表示する場合 なにかコマンド 2> >(tee 標準エラー出力を書き出す先) > >(t…
View Article