これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド lksh です。
プログラム:
NAME
ルクシュ — mksh 上に構築されたレガシー Korn シェル
SYNOPSIS
ルクシュ [-+abCefhiklmnprUuvXx] [-+o オプト] [-c 文字列 | -s | file [引数 ...]]
DESCRIPTION
ルクシュ は、従来のシェル スクリプトの実行専用のコマンド インタープリタです。 それは
上に構築された ムクシュ; スクリプト言語の詳細については、マニュアル ページを参照してください。 それは
スクリプトを移植することをお勧めします ムクシュ 従来の、またはばかばかしい POSIX で義務付けられたものに依存するのではなく、
これは、MirBSD Korn Shell スクリプト言語の方がはるかに一貫性があるためです。
を呼び出すことを強くお勧めします。 ルクシュ 少なくとも -o POSIX そうでない場合はオプション
それも両方とも & -o sh、POSIX 標準 (つまり、
おそらくなぜ使用するのか ルクシュ が ムクシュ そもそも) またはレガシー スクリプトをそれぞれ使用します。
LEGACY モード
ルクシュ 現在、以下の違いがあります ムクシュ:
· インタラクティブな使用やコマンド ラインの編集や編集は明示的にサポートされていません。
履歴コード。 したがって、 ルクシュ ユーザーのログインシェルとしても適していません。 使用 ムクシュ
を代わりにお使いください。
· KSH_VERSION 文字列は、 ルクシュ 「MIRBSD KSH」ではなく「LEGACY KSH」として。 注記
バージョン文字列の残りの部分が XNUMX つのシェル フレーバー間で同一であること、および
動作と違いはバージョン間で異なる場合があります。 付属のマニュアルページを参照してください
ムクシュ(1) このドキュメントが適用されるバージョンの場合。
· ルクシュ は POSIX 算術演算を使用しますが、これにはかなり多くの影響があります。
算術演算はホスト ISO C です 長い データ・タイプ。 符号付き整数のラップアラウンドは未定義です
行動; この意味は...
$ エコー $((2147483647 + 1))
... たとえば、システム上のすべてのファイルを削除することが許可されています (図は、
32 ビット以外のシステムでは、ルールはそうではありません)。 モジュロ演算の結果の符号
少なくとも XNUMX つの負のオペランドが指定されていない場合。 負の数のシフト演算
は不特定です。 最大の負の数を -1 で除算することは未定義の動作です。
コンパイラは、未定義の動作が発生した場合にすべてのデータを削除し、システムをクラッシュさせることが許可されています。
が発生します (例については上記を参照)。
· ルクシュ 従来の XNUMX 個のファイル記述子のみをスクリプトに提供します。
· 回転算術演算子は使用できません。
· シフト算術演算子は、XNUMX 番目のオペランドのすべてのビットを考慮します。 もし彼らが
許可された精度を超えた場合、結果は不定です。
· GNU bash stdout と stderr を一度にリダイレクトする拡張子 &> は解析されません。
· ムクシュ コマンドラインオプション -T 利用できません。
· そうでない限り セッションに -o POSIX アクティブです、 ルクシュ 次のような構成には常に従来のモードを使用します。
$ set -- $(getopt ab:c "$@")
$エコー$?
POSIX では、これに 0 を表示することが義務付けられていますが、従来のモードでは、次のエラーレベルが通過します。
取得(1)コマンド。
· AT&T UNIX とは異なります kshの, ムクシュ in -o POSIX or -o sh モードと ルクシュ ファイルを保存しないでください
記述子 > 2 サブプロセスからのプライベート。
· で定義された関数 function 予約語 シェル オプションを共有する (セッションに -o)
ローカルでスコープを設定する代わりに。
onworks.net サービスを使用してオンラインで lksh を使用する