Rc (シェル)
rc("run commands")は、Version 10 UnixとPlan 9のためのコマンドラインインターフェースである。rcはBourne shellに似ているが、その構文はより簡潔なものになっている。また、rcはトム・ダフによって作られた。彼はDuff's deviceと呼ばれるC言語の構築で有名である[1]。 オリジナルなrcのUNIXに対するポートは、Plan 9 form User Spaceの一部としてなされた。rcのUNIX系OSへのリライトはバイロン・ラキツィスによるものも利用可能だが、それはいくつかの互換性のない変更を含んでいる。 rcは、オリジナルのBourne shellがALGOL風の構造を持つのに対して、C言語のような構造を持つ。ただし、" 影響eses("extensible shell")は、ラキツィスとポール・ハウァーによって開発[2]された、オープンソースのコマンドラインインターフェースで、rcシェルに影響を受けたスクリプト言語の構文を利用している[3][4]。esは、ラツキィスによるUNIXのためのrcのクローン のコードをオリジナルのベースにしている[5][6]。 es(="extensible shell")は、UNIXシェルとして、完全な関数型プログラミング言語を提供することを意図している[7]。esの大部分の開発は1990年代の初頭に始まり、1993年冬のサンディエゴにおけるUSENIXの会議において紹介された後[8]、公式の
リリースは1997年の0.9-beta-1以後やめられた[9]。また、esは、zshやbashなどのポピュラーなシェルに比べて機能が欠けている[10]。 例Bourne shellスクリプト if [ "$1" = "hello" ]; then
echo hello, world
else
case "$2" in
1) echo $# 'hey' "jude's"$3;;
2) echo `date` :$*: :"$@":;;
*) echo why not 1>&2
esac
for i in a b c; do
echo $i
done
fi
はrcでは以下のように表記される。 if(~ $1 hello)
echo hello, world
if not {
switch($2) {
case 1
echo $#* 'hey' 'jude''s'^$3
case 2
echo `{date} :$"*: :$*:
case *
echo why not >[1=2]
}
for(i in a b c)
echo $i
}
Rcはまた、より動的なパイプをサポートしている。 a |[2] b # aの標準エラー出力のみbへパイプする — Bourne shellにおける'3>&2 2>&1 >&3 | b'と等価である[1](Advanced I/Oリダイレクト) a <>b # aの標準入力および標準出力としてファイルbを開く a <{b} <{c} # a {bの標準出力} {cの標準出力}となる。"プロセス置換"という名前でよく知られている[1](パイプライン分岐) 出典
外部リンク
Information related to Rc (シェル) |