ここ1年間ほど iPad で a-Shell(ターミナル風アプリ)を使ってきたので、これまでに分かってきた事柄をメモ書き風にお知らせします。
(以下は、2022/06/01時点の最新版について書いています)
● シェルスクリプトについて
a-Shell では、シェルスクリプトは コマンド sh あるいは source あるいは dash とともに使う。
(例1) $ sh sample.sh
(例2) $ source sample.sh
(例3) $ dash sample.sh
シェルスクリプト内に起動プログラムを指定するときは
1行目に
#! /bin/sh
あるいは
#! source
あるいは
#! dash
と書いおいて、
chmod +x sample.sh
として実行可能にしておけば、
シェルスクリプトのファイル名を入力するだけで実行できる。
(例) $ sample.sh
これだけで、sample.sh 内のスクリプトを実行できる。
《2022.05.18の更新でシェルコマンド dash が追加されたが、追加時点では、まだ動作が不安定で、不具合覚悟で使う必要があった。》
● .profile について
a-Shell 起動時に自動的に実行したいコマンドは
「 ~/Documents 」(a-Shell アプリ起動時のディレクトリ)内に
「 .profile 」という名のテキストファイルを作成し、
(隠しファイル扱いになるので、 $ ls -a で見える)
config コマンドで a-Shell の見え方をカスタマイズしたり
alias コマンドで自分なりのコマンドを定義したり
などのシェルスクリプト( if などの制御構造を伴わない単純な内容)を書いておくと
a-Shell の起動ごとに実行されて
自分専用の a-Shell に仕上げることができる。
.profile は、1行目に #! source などを書く必要はないし、
chmod で +x する必要もない。
● JavaScript について
a-Shell 内で JavaScript を使えることが分かった。
スクリプトファイル(例えば、「 file.js 」)に書いた内容の実行は
$ jsc file.js
で実行される。
会話型のインタープリターは
$ jsi
で起動し、終わりたいときには quit と入力する。
標準的でない命令として print が使える。
( JavaScript ファイルの例)
a=24
b=12
c=a+b
d=a-b
e=a*b
f=a/b
g=a%7
print(' a=24, b=12 のとき、')
print("a+b="+c+"、") // 加算
println(" a-b="+d) // 減算
print("a*b="+e+"、") // 乗算
println("a/b="+f) // 除算
println("a%7="+g+" (剰余)")
namae=prompt("お名前は?","")
alert(namae+"さん、こんにちは。")
println(namae+"さん、こんにちは。")
実行結果の画面出力は
a=24, b=12 のとき、a+b=36、a-b=12
a*b=288、a/b=2
a%7=3 (剰余)
名無しさん、こんにちは。
最後の行の前にダイアログボックスが開き、
お名前は? ←--- ダイアログのタイトル
名無し ←--- 私が入力
すると
名無しさん、こんにちは。
というダイアログボックスが出る。
どちらも OK ボタンを押すとダイアログボックスが閉じる。
● lua 言語が使える。
(例) $ lua kuku.lua というコマンドで次の kuku.lua を実行すると
for i = 1, 9 do
for j = 1, 9 do
io.write(string.format("%5d", i*j))
end
io.write(" ")
end
実行結果は
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
● C言語について
コンパイラは clang を使う。
(例) $ clang program.c
エラーがあれば、親切で詳しい英語のメッセージが出る。
コンパイルができれば、 a.out という実行ファイルができる。
実行ファイルを「 program_mei 」として保存しておきたければ、
$ mv a.out programu_mei
と入力してファイル名を変更すればよい。
● C++言語について
コンパイラは clang++ を使う。
標準出力は std::cout
標準入力は std::cin
(お馴染み、Hello, world!! の例)
#include<iostream>
int main()
{
std::cout << "Hello world!! ";
return 0;
}
● もちろん、Python に関しては、非常に充実している。
● perl も、awk も利用できる。
最近のコメント