こんな方にオススメ
2021/10月~2022/1月 macOS Monterey(12.1)にて確認した内容で掲載。
シェルスクリプトを実行
echo “Hello World”が初期入力されていますが、そこにスクリプトを記述します。 | |
入力 | ショートカットの入力・マジック変数などが使えます。 |
出力 | 色々 |
このアクションはシェルスクリプトに詳しい人ほど、楽しく扱えるものになっています。 逆に自分みたいにシェルスクリプト初心者にとってはあまり有効活用できるとは言い難いものになっています。 |
このアクションはスクリプティングを代表するようなスクリプト関連のアクションです。【SSH経由でスクリプトを実行:mac版】と同じく、自分でスクリプトを書いて実行するタイプになります。
アクションを配置するとすでに[echo “Hello World”]が書かれていると思います。このまま実行すると、ショートカットのアクション結果としてHello Worldが表示されると思います。このechoというのはPHPでも使われているような「出力」の機能を持っているものになります。
シェルに関してはbashを選んでおけばいいらしいです。この違いからもう自分はわからないので、迷ったらとりあえずbashでいいと思う。詳しい方は自分の用途に応じて選びましょう。
入力は初期値は入力のままですが【ファイル:mac版】や【写真を選択:mac版】などを利用した場合、それらを【マジック変数:mac版】として利用可能です。ショートカットの入力も使えるってことで少し試したんですが、これは何度やってもエラーになったのであまりオススメはしません。
入力を渡す方法は「引数として」でいいと思います。ここも違いが良くわからないんですが、初期値は「stdinへ」になっています。しかし今回紹介する超簡単なスクリプトは引数じゃないとエラーになるので、今回は引数として使います。
管理者として実行は有効化すると、コマンドをより使いやすくなるものです。システムへの変更とかを安易に行えないように制限が掛かっているのがパソコン関係のデフォルトなんですが、この管理者っていう権限を使うことでそれらの制限を一部撤廃することが出来ます。
使用例
自分はシェルスクリプトについて無知なので、調べて簡単に実行できるものを見つけてきました。ほんとはffmpegとかを自動化したいなーと思ったんですが、流石にそこまでの知識は得られなかった。今度挑戦します。
配置するアクションは2つ。今回は動画を使って行いましたが写真とかでもOKです。
- 【ファイル:mac版】
- ファイルを選択します。今回の例では動画を選択しています。後でスクショが出ます
- 【シェルスクリプトを実行:mac版】
- 詳しいことは以下で解説します。
ファイルのアクションを追加したら、適当に写真でもテキストファイルでも動画でもいいので一つ選択しておきます。ファイルアクションはこれでOKです。
シェルスクリプトのアクションを追加したら、スクリプトエリアを全て削除して以下を記入。
dirname "$@" basename "$@"
dirnameはファイルのディレクトリを取得する機能をもったコマンドで、basenameはファイルの名前を取得する機能をもったコマンドです。そして$@は「入力として渡されたファイル」になる変数です。詳しい事は調べてもらったほうがいいと思うんですが、この変数の書き方は特殊なものです。
- シェル:/bin/bash
- 入力:ファイル(マジック変数で指定)
- 入力を渡す方法:引数として
- 管理者として実行:有効化
と設定します。組むとこうなっているはずです。
この状態で実行すると、結果が表示されるはずです。ちなみにこのdirnameが少し動作がおかしく、最後の拡張子の直前(.)を出力するんですけどなぜですかね。basenameは正常にElswordと出力されました。
関連アクション
macOS版ショートカットのスクリプト・制御フロー系アクション | |
---|---|
SSH経由でスクリプトを実行 | シェルスクリプトを実行 |
AppleScriptを実行 | JavaScript for Automationを実行 |
if文 | ショートカットを停止 |
メニューから選択 | 各項目を繰り返す |
繰り返す | 待機 |
停止して出力 | 戻るまで待機 |
リスト | リストから項目を取得 |
リストから選択 |