Macで自動化(自作)コマンドを作成する方法を解説します.
一度作成してしまえば次からはサクッと任意の操作ができます!
<使用イメージ>
- 複数のWebサイトを一気に開く
- 仕事始めに起動するアプリを一気に立ち上げ
- 一連のUnixコマンドをまとめて実行 などなど
対象読者
本記事ではコマンドラインでの操作がある程度できる方を想定しています.
また,Macのターミナルにおけるシェルがzsh
の方が対象です.1
参考:シェルの確認
ターミナルでecho $SHELL
を実行し/bin/zsh
と表示されたらzsh
です.
作成の流れ
自動化コマンドを作成する流れは以下の3ステップです.
- コマンド定義ファイルを格納するフォルダを作成
- path を通す
- コマンド定義ファイルを作成・権限付与
手順
① コマンド定義ファイルを格納するフォルダを作成
まずはフォルダ(ディレクトリ)を作成します.
場所に指定はありませんが,以下の条件を満たしているとよいでしょう.
- 管理しやすい場所
- フォルダ移動が発生しにくい場所2
本記事ではMacのホームディレクトリにファイルを作成します.
(ホームディレクトリ以外に作成する場合は各コマンドのpathを変更してください)
まずはターミナルで以下のコマンドを実行してauto
ディレクトリを作成しましょう.
cd && mkdir auto && cd auto
コマンドの内容が知りたい方はこちらをクリック
上記のコマンドは以下の一連の操作を行なっています.
cd
コマンドでホームディレクトリに移動mkdir auto
で「auto」という名前のディレクトリ作成cd auto
でautoディレクトリ内に移動
なお,ホームディレクトリをFinderで見て確認したい場合はopen ~
を実行すればFinderで見ることができます.
② pathを通す
以下のコマンドを実行してpathを通します.
echo export PATH=\"\$PATH:`pwd`\" >> ~/.zshrc && source ~/.zshrc
コマンドの内容が知りたい方はこちらをクリック
上記のコマンドは以下の一連の操作を行なっています.
echo export PATH=\"\$PATH:`pwd`\" >> ~/.zshrc
でpathを通す設定をホームディレクトリの.zshrc
ファイルに書き込むsource ~/.zshrc
で.zshrc
の変更を反映
③ コマンド定義ファイルを作成・権限付与
次はコマンド定義ファイルを作成していきましょう.
注意
ここで作成したファイル名(=stock
)が自作のコマンド名になります.
名前を変更する場合は,コマンドのstock
部分(2ヶ所)を任意の名前に書き換えてください.
なお,任意の名前にする場合はUnixコマンド名と重複しないようご注意ください.
Unixコマンド名との重複を確認したい場合はこちらをクリック
コマンド名にしたい文字列(例えばhoge
)をターミナルに打ち込んで実行してみると重複の有無がわかります.
zsh: command not found: hoge
と返ってくれば重複していないのでコマンド名として使えます.それ以外の結果が出てきたら重複しているのでコマンド名としては使えません.
以下のコマンドを実行するとstock
という名前のファイルが作られ,テキストエディットが自動的に起動します.
touch stock && open -a TextEdit stock
起動したテキストエディットで以下の内容を記載・保存しましょう.
処理内容は以下のとおりです.
- デフォルトブラウザで証券会社2社のHPを開く(1〜2行目)
- Mac標準のメモアプリを開く(3行目)
open https://www.sbisec.co.jp/
open https://www.monex.co.jp/
open -a Notes.app
続いて,作成したstock
ファイルに対してコンピュータ制御の権限を付与します.
以下のコマンドでstock
ファイルに権限を付与できます.3
sudo chmod 755 stock
実行時の注意
上記のコマンドを実行した際にパスワードを求められたら,Macのログインパスワードを入力しましょう.
コマンドの実行テスト
最後に自作したコマンド(=stock
)が動作するかを確認してみましょう.
ターミナル上で以下のコマンドを実行します.
stock
自動でデフォルトブラウザが起動して証券会社のHPを開き,メモアプリが起動すればOKです!
参考
- コマンド定義ファイルは ファイル名 = コマンド名 となっているので,ファイルをリネームすればコマンド名も変更されます.4
- 本記事で作成した
auto
ディレクトリ内に複数のコマンドファイルを置くことができます.stock
ファイルをコピーすると権限も含めてコピーされるので,ファイル名と内容を変更するだけで別コマンドを作ることができます.
ひとこと
自作コマンドの作成,お疲れ様でした.
さっと操作したい内容や毎日の作業をコマンド化しておけば非常に便利ですね.
なお,Unixコマンド以外にもPythonのコードなども実行することができます. 興味のある方は以下の記事を確認してみてくださいね.
<作成中です・・・>