メモ 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ではシェバン(先頭の#!の行)が違うかも。
以上。