よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

メモ termuxでシェルスクリプトの作成と実行

Android上のtermuxでPythonインタプリタを起動するだけのシェルスクリプトの作り方と実行方法メモ。
シェルスクリプトをほとんど使わないので忘れる。というかぜんぜん覚えないのでメモしとく。

実行環境
Androidスマホ
termux
(Pythonがインストールされた前提で)



vimシェルスクリプトを書く
(vimじゃなくてもいいけど。vimやvi特有の操作方法やコマンドを覚える必要があるので初心者にはあまりオススメしません。)
任意のファイル名を付けて開くコマンド

vim シェルスクリプトファイル名.sh



シェルスクリプトの拡張子は.sh
おまけで「hello world!」と出力する行もつけた。

#!/bin/bash
echo "hello world!"
python


vim:wqコマンドを入力してファイルを保存しvimを終了。



lsコマンドに-laオプションを付けてパーミッション確認

ls -la


とコマンド実行するとカレントディレクトリ内のファイルとフォルダの一覧がパーミッションの情報付きで出る。vimで作ったシェルスクリプトのファイルは-rw-------となっている。読みと書きは許可してある。



シェルスクリプトファイルを実行するにはファイル名を入力するだけでよい。しかし

シェルスクリプトファイル名.sh

ではCommand not foundと言われてしまう。./を付けて律儀に相対パスを指定する。



./ シェルスクリプトファイル名.sh


だが、今度はPermission deniedと言われる。読みと書きしか許可されてなかったからね。実行許可を与えないと実行できないということなので、次のコマンドを実行して許可する。
ファイルの実行許可のxを追加するコマンド

chmod +x シェルスクリプトファイル名.sh


ls -la ファイル名コマンドでパーミッションを確認すれば -rwx------に変更されている筈。



再びシェルスクリプトファイルの実行の試み。

./シェルスクリプトファイル名.sh



これでhello world!の後にPythonインタプリタが起動していればシェルスクリプトの実行成功。
Pythonインタプリタの終了は通常通りexit()で。



PCではシェバン(先頭の#!の行)が違うかも。
以上。