本記事は2023/04/21時点の内容です。
最新情報はa-Shellの公式情報を確認してください。
追加情報
2024/07/30
pkg install gitでも追加できるようです。内部的に後述するbinファイルを追加するスクリプトが実行されるようです。
$ pkg install git Downloading git The git command cannot be included with a-Shell. Would you like to create a script at $HOME/Documents/bin/git that wraps lg2 with the following contents? #!/bin/sh lg2 "$@" Keep in mind that git and lg2 options are not 100% compatible, and they also do not use the same configuration files or environment variables. Create $HOME/Documents/bin/git? (y/n [n]) y Creating $HOME/Documents/bin/git Creation complete Done
経緯
- iPhone/iPadでPythonコードはa-Shellアプリを使用することで実行できますが、コードによってはPyPIに登録されてないケースがあるため、その場合はGitHubからzipをDLして使用していました。(a-Shellアプリはデフォルトではgitコマンドは使用できず、aptコマンドも使用できないため。)
- しかし、GitHubからzipをDLする場合はバージョン確認が必要になります。また、そもそも移動が手間でした。そこで、gitを使える方法がないか調べたところ、a-Shell-commandsからgitコマンドを追加できることがわかりました。
- 本記事ではgitコマンドの追加方法と使い方について実例を基に紹介します。
手順
- 本記事ではcurlコマンドで取得する方法を紹介します。コマンドの追加方法についてはa-Shell公式のpurposeを確認ください。
- 以下のコマンドをa-Shellアプリを起動して実行してください。gitコマンドを実行するシェルスクリプト(git)をa-ShellのbinフォルダにDLします。
mkdir ~/Documents/bin #binフォルダを作成済みの場合は不要 cd ~/Documents/bin curl -L https://github.com/holzschu/a-Shell-commands/releases/download/0.1/git -o ~/Documents/bin/git
- リンクが無効な場合はa-Shell-commandsにアクセスし、「Releases 1」> 「Show all 61 assets」> 「git」からURLをコピーして置き換えてください。
- リンクが有効な場合はファイルを選択するとDLのポップアップが表示されるため手動でDL&ファイル移動することも可能です。
DLしたgitコマンドファイル(シェルスクリプト)について
- gitコマンドファイルの中身を確認すると以下コードになっており、内部でlg2というシェルスクリプトを呼び出していました。
% cat git #!/bin/sh lg2 "$@"
- twitterを見るとlibgit2ベースのlg2を追加しており、内部ではlibgit2のver1.1.0を使用してgit commandを実行していました。
- a-Shellが公式のlibgit2を使用しているかまでは未確認ですが、2023/04/21時点ではlibgit2のlatestはver1.6.4でした。
New version of a-Shell and a-Shell mini available on the AppStore (1.7.3).
— a-Shell (@a_Shell_iOS) June 30, 2021
What’s new?
* lg2, a git-like clone based on libgit2.
* tons of UI improvements: sliding your finger moves the cursor or scrolls the screen.
* vim and less now use the alternate screen.



- 使用できるコマンドは下記の通りです。
$ git help
usage: lg2 <cmd>...
Available commands:
add
apply
rm
blame
branch
cat-file
checkout
clone
commit
config
describe
diff
fetch
for-each-ref
index-pack
init
log
ls-files
ls-remote
merge
push
pull
rebase
remote
reset
rev-list
rev-parse
show-index
self-test
stash
status
submodule
tag
version
help
まとめ
- a-Shellアプリでgitコマンドを使用する方法を紹介しました。
- 今回はgitコマンドファイルについて紹介しましたが、他にもシェルスクリプトとwasmファイルが格納されているので必要に応じて追加すると良いかと思います。
- ffmpeg.wasm, tree.wasm, whichもDLしましたが、問題なく使用できました。(※DL後はアプリの再起動が必要です。)
- wasmファイルについては同様にbinフォルダに追加すると実行時にWebAssembly JIT (Just-in-Time) コンパイラでブラウザで実行可能な形式にコンパイルされるようです。(この辺りは詳しくないので理解を深めたいところです。)
- a-Shell公式はコンパイル済みのコマンドがあればプルリクエストを出すことで追加することもできるようです。(要承認確認)
以上です。