Bash
Windows における WSH ばりに GUI ウィンドウを操作できる、MacOS の AppleScript。 今回は、「今 CotEditor で開いているファイルを、VSCode で開き直したいなぁ」という時の操作を Bash コマンド化してみる。 結論からいくと、コマンドとしてはコレだけ。 …
ウェブサイトのデザイン確認のため、色々なブラウザで同じページを開きたいことがある。 それを自動化するため、こんな Bash スクリプトを書いてみた。Mac と Windows (GitBash) で使える。 #!/bin/bash target="$1" if [ "$target" == "" ]; then echo 'URL…
僕は普段、Mac では「CotEditor」というテキストエディタを使っている。Windows における Notepad++ のような、軽量かつ高機能なエディタである。 僕はこの CotEditor で Markdown ファイルを書くことが多いのだが、Markdown のプレビューは Chrome ブラウザ…
Git For Windows やその上位互換である Git SDK (以降「GitBash」で総称する) の起動時のトロさといったら。Mac のターミナルくらい爆速で起動して使い始めたいのに、git-bash.exe を起動して最初のプロンプトが表示されるまで2・3秒待たないといけない。 今…
Excel で作った設計書などを納品する際にやっていることを一括で自動処理する Excel VBA マクロを作った。 まずはコード紹介 このマクロがやれること Windows・MacOS ともに動作するクロスプラットフォームを実現 他に課題とか 以上 まずはコード紹介 先にマ…
普段、npm パッケージを使った素振り環境を作るために、 mkdir して cd して、 npm init -y して package.json を調整して、 git init して .gitignore を作って、 git commit --allow-empty で初回コミットを打つ、 みたいなことをやっているのだが、コレを…
前回紹介したとおり、Mac 版の Excel VBA では、Dir() 関数がまともに動かない。特に Dir() 関数でファイルの一覧を取得するような処理が全く動かず、Windows 版とは違うコードを書かないといけない。 色々調べてみると、Excel VBA から AppleScript を実行…
ニホンノエスイーの皆さん用。 カレントディレクトリ配下にあるファイルの、作成日時と更新日時を、それぞれ任意の日時に変更できるシェルスクリプトを作った。date コマンドのオプションの書式や、setfile コマンドを使用したりしていることから、Mac 専用…
以前からなんとかならないかなーと思っていた、複数のローカルブランチを一気に消すコマンドを作った。いつ使うかというと、主に feat/ で始まるローカルブランチを一気に消したい時とか。 ほとんど以下のコードを参考にした。 参考:shellutils/git-rmbranc…
これまでどこかで適当に調べては適当に実行していた defaults コマンドだが、この度一つのシェルスクリプトにまとめてみたので、それを紹介する。 Dotfiles/MacOS.sh at master · Neos21/Dotfiles · GitHub 現時点での内容は以下のとおり。 #!/bin/bash # ==…
MacOS のターミナルで、カレントディレクトリを Finder で開きたい時は、$ open . と叩けば良い。 その逆で、「Finder で開いているディレクトリに、ターミナル上で移動したい」時のコマンドを用意する。 Finder 上からそのディレクトリのターミナルを開く際…
macOS Mojave 環境にて。この前久々に npm パッケージをグローバルインストールしようとしたら、以下のようなエラーが出た。 $ npm install -g @neos21/neos21 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules npm ERR! pat…
2019年、あけましておめでとうございます。今年も宜しくお願い致します。 今日は、Node.js で書いたちょっとしたスクリプトを、コマンドとして使えるようにする手順をまとめる。大きく2種類のやり方があるのでそれぞれ紹介する。 試した環境は macOS Mojave…
Windows GitBash のプロンプト表示がやたらと遅い。何のコマンドも打たずに Enter を押しただけでも、何か表示がつっかえる。 何が原因かと思って調べてみたところ、どうも GitBash デフォルトのプロンプト内に設定されている __git_ps1 という関数が遅いよ…
一つひとつを記事にするほどでもない雑多な学習メモたち。 Shebang は #!/bin/bash にしよう 命名規則 シェルスクリプトの関数 関数の戻り値が欲しい時 ローカル変数を宣言するには local を付与して宣言する 関数の引数 他ファイルに書いた変数や関数を利用…
最近 VSCode のターミナルを開くと、Windows GitBash ターミナルの起動時に ~/.bash_profile が読み込まれず、~/.bashrc だけが読み込まれる状態になっていた。 調べてみると、Bash を「ログインシェル」として開くようオプション引数を設定しないといけない…
Windows の VSCode 上では、Git For Windows による Bash ターミナルを利用しているのだが、最近どうも日本語表示がおかしくなってしまった。 よくある「文字化け」とは違って、日本語の表示部分が <E3><83> のように、英数字と不等号記号で表現されるようになっ</e3>…
diff コマンドは git diff のように色付けされない。そこで、colordiff というコマンドを入れてみた。 colordiff macOS Mojave で試したので、$ brew install colordiff でインストールしたが、Linux なら apt-get とかでもインストールできるみたい。 Unifi…
MacOS High Sierra にて検証。 僕は普段、.html ファイルを CotEditor というテキストエディタに関連付けしている。Finder から .html ファイルをダブルクリックすると、CotEditor で開くワケだ。 この状態で、ターミナルから $ open index.html のように op…
よくグローバル IP を調べる方法として $ curl globalip.me こんな風に専用サービスを curl で叩く、というモノがあるが、プロキシ環境下では globalip.me にアクセスできなくて使えない。 参考:Shellで超簡単にグローバルIPを確認する方法 そこで調べてみ…
以下のように、ある DB のデータをテーブル別にファイルを毎日吐き出すディレクトリがあるとする。 $ ls -1 data-fuga01.db data-fuga02.db data-fuga03.db # …中略… data-fuga29.db data-fuga30.db data-fuga31.db data-hoge01.db data-hoge02.db data-hoge…
GnuWin32 という、かなり古いツール群があるのだが、コレを試してみた。 簡単にいうと、Windows コマンドプロンプト上で使える Unix・Linux 風コマンドを多数提供しているコマンド集。PATH を通すだけでコマンドプロンプト上で ls とか grep とかできるよう…
以前、Bash で利用可能なコマンドを一覧表示するため、環境変数 PATH の中身を ls するようなスクリプトを紹介した。 neos21.hatenablog.com 今回さらに調べてみると、compgen というコマンドで利用可能なコマンドを一覧表示できることが分かったので紹介す…
find コマンドがなかなか覚えられない。 特定の拡張子のファイルのみ表示する 特定の拡張子のファイルを除外する 複数の拡張子のファイルを除外する 特定の拡張子のファイルのみ表示する $ find . -type f -name "*.jpg" find . で ./、つまりカレントディレ…
Bash で cd とかする時に、ファイル名の大文字・小文字を区別しやがるのが鬱陶しいので、直し方を紹介。このやり方は Windows GitBash・Linux・MacOS で使える。 やり方は、以下の内容を書いたファイル .inputrc を、ユーザホームディレクトリ配下に置くだけ…
Bash にて、export NO_PROXY=localhost といったように、ある環境変数をどこかのファイルで設定しているのだが、どこに書いてあるか分からない、という時に、その調べ方を調べてみた。 参考:bash - How to determine where an environment variable came fr…
ふと、Bash 上で使えるコマンドって全部でどれだけあるんだろう?と思い、一覧での取得方法を調べてみた。 ネットで見つけたやり方 参考:Linux - Linuxでコマンド一覧を表示するコマンドについて|teratail ↑ ドンズバな質問と回答が載っているページを見つ…
自端末から、SSH で Linux (CentOS) サーバに接続し、その Linux サーバ上で Express サーバを立ち上げ、SSH 接続を切断したかった。 Express サーバは、$ npm install 後、$ node main.js と叩くと起動するようになっているのだが、ターミナルを閉じたり、…
Redmine API を利用して、curl でチケット情報を取得し、jq で整形して出力するシェルスクリプトを書いた。引数チェックとかもするようにした。 以下のスクリプトを red とかいうファイル名で保存して、PATH が通っているところに置いて実行権限を付ければ O…
MacOS にて実施。 SSH 接続する際、とある理由で公開鍵認証方式が使えず、sshpass という便利なツールも導入できなかったので、他の方法でパスワード入力を自動化する方法を調べた。 expect・spawn・send コマンドで作れる! 結論からいうと、以下のようなシ…