めもちょー

メモ帳代わりに使っています。

Shell

GitHub ActionsのScript Injectionを利用した攻撃

下記資料でGitHub Actionsのセキュリティの勉強をしていたら、GitHubリポジトリに設定されているsecretや環境変数をPull Requestによって盗めることが分かったので実験してみました。 speakerdeck.com なお、本記事はGitHub Actionsを書く際のセキュリティ意…

terraformのworkspaceをプロンプト上に表示させる

前提 プロンプト設定 oh-my-posh設定 前提 terraformで作業をしていると、workspaceを切り替えることを忘れ、production環境にapplyをしてしまうようなミスが考えられます。 プロンプトにworkspaceを表示することにより、ヒヤリハットを防ぐことが重要です。…

tmuxのhistory設定をoh-my-poshと共存させる

tmuxの各セッションのコマンド履歴をbashの履歴に記録しようとこの記事を参考に.bash_profileに設定を追記しました。 tmuxは起動するたびに.bashrcではなく.bash_profileを読み込むため.bashrcではなく.bash_profileに設定を書き込む方が望ましいです。 piro…

OSSで端末操作をhackする

私が使っている端末操作を快適にしてくれるOSSを紹介します。 Alacritty インストール tmux インストール カスタマイズ zoxide インストール ghq インストール fzf インストール ghqとfzfを組み合わせてcloneしてきたgitリポジトリを検索する oh-my-posh イ…

oh-my-poshでPythonのvenvの絶対PATHを表示する

結論 下記画像のようにvenvの絶対PATHをプロンプト上に表示できるようにしました。 問題 Pythonの仮想環境venvをactivateした際、デフォルトですと下記のような表示になります。 .venvやvenvという仮想環境名だとその仮想環境ディレクトリがある親ディレクト…

tmuxでTrue Colorを有効にする

問題 調査 解決法 問題 Ubuntu22.04 LTSでalacritty上でtmuxを動作させています。 rangerで.pyや.tsvを表示する際にカラースキームが適切に機能しない問題点がありました。 調査 まずalacrittyの問題なのかtmuxの問題なのかを調べました。 下記コマンドをala…

Ubuntuでスクリーンレコードした動画をはてなブログにgifとして貼る

動画変換の手順 再利用可能にする 動画変換の手順 Ubuntu22.04 LTSのスクリーンキャプチャの録画機能を使うと.webmファイルとして録画ファイルが出力されます。 これをはてなブログでGIFとして貼るには圧縮とファイルタイプの変換が必要です。 下記のように…

dotfilesリポジトリのlinterを書く

dotfilesとは dotfilesをリポジトリ管理するには linterを書く GitHub Actionsで動かす dotfilesとは dotfilesとは各種ソフトウェアの設定ファイルのことです。 .bash_aliasesなどのシェルスクリプトファイルや.alacritty.yamlのようなものを指します。 dotf…

LSDをインストールしてlsコマンドの結果にアイコンをつける

前置き fontのインストール ソースのインストール Ubuntuにフォントを登録 alacrittyに設定 lsdのインストール aliasの設定 前置き 下記の端末のようにlsdコマンドでファイルやディレクトリにアイコンをつけることができましたのでやり方をご紹介します。 環…

dotfilesをgit管理する

前書き 管理方法 GitHubにリポジトリdotfilesを作成 既存のファイルをローカルリポジトリ内に移動します。 リンクを定義するシェルスクリプトファイルを作成 前書き 自分のUbuntu 22.04 LTS環境でdotfilesを管理する方法が落ち着いてきました。 下記のリポジ…

シェルスクリプトをより良く書く

linterを使う $ sudo apt install shellcheck $ shellcheck hoge.sh github.com 条件式 や算術演算子を使う if 文の条件を書く場合 [ ] (testコマンド)よりも (条件式)を使うべき。 testコマンドの場合、条件式を表す<>, (), &&, ||をエスケープする必要があ…

『シェルスクリプト基本リファレンス』メモ

シェル力を高めたく『シェルスクリプト基本リファレンス』を読みました。本記事はそのメモになります。 3. シェル文法の循環構造 4. 複合コマンド 5. 組み込みコマンド1 3. シェル文法の循環構造 p.33 パイプラインのコマンドの終了ステータスを個別表示 $ (…