ラジコン

ラジコン
パラダイム命令型パイプライン
によって設計されたトム・ダフ
開発者ベル研究所
初登場1989年; 35年まえ (1989)
タイピングの規律弱い
OSクロスプラットフォーム(バージョン 10 Unixプラン 9ユーザースペースからのプラン 9 )
Webサイトdoc.cat-v.org/plan_9/4th_edition/papers/rc
方言
バイロンのラジコン
に影響を受けた
ボーンシェル
影響を受け
そうです、インフェルノシェル。
RCセッション

rc (「実行コマンド」の意味)は、Bell Labsオペレーティング システムのバージョン 10 UnixおよびPlan 9用のコマンド ライン インタプリタです。これはBourne シェルに似ていますが、構文はもう少し単純です。これは、珍しいC プログラミング言語構造 (「ダフのデバイス」)でよく知られているTom Duffによって作成されました。 [1]

オリジナルの rc の Unix への移植は、User Space の Plan 9の一部です。 Byron Rakitzis による Unix 系オペレーティング システム用の rc の書き換えも入手できますが、互換性のない変更がいくつか含まれています。

Rc は、元の Bourne シェルのALGOLに似た構造の代わりに C に似た制御構造を使用します。ただし、if notの代わりにコンストラクトを使用し、リストを反復するelseBourne に似たループがあります。 forrc では、すべての変数は文字列のリストであるため、「 」のような構成要素は必要ありません$@。変数は展開時に再分割されません。この言語については Duff の論文で説明されています。[1]

影響

エス

es (「拡張可能なシェル」の略) はRakitzis と Paul Haahr [2]によって開発されたオープンソースのコマンド ライン インタプリタで、 rc シェルの影響を受けたスクリプト言語構文を使用します。 [3] [4]元々は、Byron Rakitzis の Unix 用rc のクローンのコードに基づいていました[5] [6]

拡張可能シェルは、完全に機能する プログラミング言語をUnix シェルとして提供することを目的としています[7]これは、新しいデータ型として中かっこで囲まれた「プログラム フラグメント」、letによる字句スコープ、およびいくつかのマイナーな改善を導入することによって実現されています。 es 開発の大部分は、サンディエゴで開催された 1993 年冬のUSENIXカンファレンスでシェルが導入された後、1990 年代初頭に行われました[8] 公式リリースは 1997 年の 0.9-beta-1 以降中止されたようです。[9]、es は欠落しています。zshbashなどのより一般的なシェルと比較した機能[10]のパブリック ドメインフォーク2019 年の時点でアクティブです。[11]es

Bourne シェル スクリプト:

if [ " $1 " = "こんにちは" ] ;次にecho hello、world
 else case " $2 " in 1 ) echo $# 'hey' "jude's" $3 ;; 2 ) echo ` date` : $* : : " $ @ " : ;; * ) echoなぜa b ciに対して1 > & 2 esacではないのでしょうかdo echo $i完了しました      
      
      
        
        
        
    
          
         
    

rc では次のように表現されます。

if(~ $1 こんにちは)
    エコー、こんにちは、世界
そうでない場合は、{
    スイッチ($2) {
    ケース1
        エコー $#* 'やあ' 'ジュード's'^$3
    ケース2
        echo `{date} :$"*: :$*:
    場合 *
        なぜエコーしないのか>[1=2]
    }
    for(ABCの私)
        エコー $i
}

Rc は、より動的なパイピングもサポートしています。

a |[2] b     # a の標準誤差のみを b にパイプします — '3>&2 2>&1 >&3 | と同等ですBourne シェル[1]の b' : 高度な I/O リダイレクト 
a <>b        # ファイル b を a の標準入力および標準出力として開きます
a <{b} <{c} # {b の標準出力} {標準出力になりますof c}, 
            # 「プロセス置換としてよく知られています[1] : パイプライン分岐 

参考文献

  1. ^ abcd ダフ、トム (1990)。 「「Rc — プラン 9 シェル」」。cat-v 2024 年 1 月 26 日に取得
  2. ^ フィッシャー、マンフレッド M. (1996 年 12 月 13 日)。 GIS に関する空間分析の観点。 CRCプレス。ISBN 9780748403400
  3. ^ "Ubuntu マンページ: es - 拡張可能なシェル".マンページ.ubuntu.com。 1992年3月5日。 2014 年 2 月 24 日にオリジナルからアーカイブされました2012 年 8 月 24 日に取得
  4. ^ 「拡張可能なシェル」。フォルドック2012 年 8 月 24 日に取得
  5. ^ "Linux で利用可能なシェル".ラヴ2012 年 8 月 24 日に取得
  6. ^ ジョーンズ、ティム。 「Linux におけるシェルの進化」。 IBM 2014 年3 月 14 日に取得
  7. ^ "Linux Journal 12: GNU とは". 2013 年 1 月 17 日にオリジナルからアーカイブされました2012 年 8 月 24 日に取得
  8. ^ Es: NetApp, Incの Byron RakitzisとAdob​​e Systems Incorporatedの Paul Haahrによる高階関数を備えたシェルArchive.Org にアーカイブされています。
  9. ^ [1]
  10. ^ "UNIX シェルの違い".よくある質問.org 2012 年 8 月 24 日に取得
  11. ^ ジェームズ・ハガティ (2020 年 3 月 13 日)。 「wryun/es-shell: 高階関数を備えたシェル」。GitHub

外部リンク

  • rc(1)- Plan 9 マニュアル ページ。
  • ユーザー スペースからの Plan 9 - Linux、Mac OS X、およびその他の Unix 系システム用の rc およびその他の Plan 9 ツールが含まれています。
  • Byron Rakitzis による Unix 用のリライト (2013 年 10 月 5 日にWayback Machineにアーカイブされた記事)
  • エス公式サイト
Retrieved from "https://en.wikipedia.org/w/index.php?title=Rc&oldid=1199226866"