
コマンドシェルは、コンピューターのオペレーティング システムを操作するためのコマンド ライン インターフェイスです。
一般的な特徴
インタラクティブ機能
バックグラウンド実行
バックグラウンド実行により、シェルはターミナルでのユーザーの操作なしにコマンドを実行でき、コマンドラインをシェルでの追加作業に使用できるようになります。POSIXシェルやその他のUnixシェルでは、コマンドの最後に&文字を使用することでバックグラウンド実行が可能です。PowerShellでは、[43]または[44]コマンドレットを使用できます。
Start-ProcessStart-Job
完了

補完機能は、不完全な単語を検索して一致する単語を提案することにより、コマンド ラインでユーザーがコマンドを入力するのを支援します。補完は通常、補完キー (多くの場合、Tab ↹キー) を押すことによって要求されます。
コマンド名補完は、コマンド名を補完することです。ほとんどのシェルでは、コマンドはコマンド パス内のプログラム (通常は$PATH)、組み込みコマンド、関数、またはエイリアスになります。
パス補完とは、相対パスまたは絶対パスによるファイルへのパスの補完です。
ワイルドカード補完はパス補完の一般化であり、ファイル一致にサポートされている任意の構文を使用して、式が任意の数のファイルに一致します。
変数補完は、変数名 (環境変数またはシェル変数)の名前を補完します。Bash、zsh、fish には、すべての変数名の補完機能があります。PowerShell には、環境変数名、シェル変数名、および (ユーザー定義関数内から) パラメーター名の補完機能があります。
コマンド引数の補完とは、特定のコマンドの引数を補完することです。引数には、名前付き引数と位置引数の 2 種類があります。名前付き引数は、オプションとも呼ばれ、値の前にある名前または文字で識別されますが、位置引数は値のみで構成されます。一部のシェルでは引数名の補完が可能ですが、値の補完をサポートしているシェルはほとんどありません。
bash、zsh、fish は、コマンド外部の定義を通じてパラメータ名の補完を提供します。この定義は、別の補完定義ファイルで配布されます。コマンドパラメータ名/値の補完については、コマンドに補完が定義されていない場合、これらのシェルはパス/ファイル名の補完を想定します。シェル関数を呼び出すことで、補完を提案するように補完を設定できます。[45] fish シェルはさらに、man ページの解析をサポートし、補完/提案を改善するために使用できるパラメータ情報を抽出します。PowerShell では、すべての種類のコマンド (コマンドレット、関数、スクリプトファイル) が、各引数の名前、タイプ、有効な値の範囲/リストに関するデータを本質的に公開します。このメタデータは、PowerShell によって、組み込みコマンド/関数、ユーザー定義コマンド/関数、およびスクリプトファイルの引数名と値の補完を自動的にサポートするために使用されます。個々のコマンドレットは、実行中のシステムで補完値が動的に計算される引数値の動的補完を定義することもできます。
コマンド履歴
シェルのユーザーは、以前に入力したものに似たものを入力することがあります。コマンド履歴のサポートにより、ユーザーは以前のコマンドをコマンド ライン エディターに呼び出して編集し、変更された可能性のあるコマンドを発行することができます。
補完をサポートするシェルでは、前のコマンドの一部または最初の部分を指定すると、コマンド履歴からコマンドを直接補完することもできます。
最新のシェルのほとんどはコマンド履歴をサポートしています。一般的にコマンド履歴をサポートするシェルは、履歴からコマンドを呼び出すだけでなく、履歴からの補完もサポートします。プレーンなコマンド テキストに加えて、PowerShell は実行の開始時刻と終了時刻、および実行ステータスもコマンド履歴に記録します。
必須引数プロンプト
必須引数/パラメータとは、コマンド、関数、またはスクリプト ファイルの呼び出し時に値を割り当てる必要がある引数/パラメータです。呼び出し前に必須値が不足していることを判断できるシェルは、コマンドを失敗させる代わりに、それらの値の入力を求めることで対話型ユーザーを支援できます。不足している値についてシェルにプロンプトを表示させることで、スクリプト、コマンド、または関数の作成者は、不足している値の入力を求める (対話型で実行されていると判断した後に) か、メッセージを表示して失敗するスクリプト コードを作成する代わりに、パラメータを必須としてマークできます。
PowerShellでは、コマンド、関数、スクリプトで引数/パラメータを必須として定義できます。シェルは呼び出し前に、バインドされていない必須引数/パラメータがあるかどうかを判断し、実際の呼び出しの前にユーザーに値の入力を求めます。 [46]
自動提案

自動候補機能を備えたシェルでは、ユーザーの入力時にオプションのコマンドライン補完が表示されます。PowerShellシェルとfishシェルはこの機能をネイティブでサポートしており、キーを押すと補完が挿入されます。 Tab ↹
この機能の実装はシェルによって異なる場合があります。たとえば、PowerShell [47]とzsh [48]は補完を提供するために外部モジュールを使用し、fish はユーザーのコマンド履歴から補完を導き出します。[49]
ディレクトリ履歴、スタック、または同様の機能
シェルは、ユーザーがアクセスしたディレクトリの履歴を記録し、記録された任意の場所にすばやく切り替えることができます。これは「ディレクトリ スタック」と呼ばれます。この概念は、1978 年[50]のC シェル(csh)のリリースですでに実現されていました。
PowerShell では、複数の名前付きスタックを使用できます。場所 (ディレクトリ) は、現在のスタックまたは名前付きスタックにプッシュ/ポップできます。どのスタックも現在の (既定の) スタックになることができます。他のほとんどのシェルとは異なり、PowerShell の場所の概念により、場所スタックはファイル システムの場所だけでなく、Active Directory組織単位/グループ、SQL Serverデータベース/テーブル/オブジェクト、Internet Information Serverアプリケーション/サイト/仮想ディレクトリなどの他の場所の種類も保持できます。
コマンドライン インタープリター4DOSとその後継のグラフィカル版Take Command Consoleにもディレクトリ スタックが搭載されています。
暗黙的なディレクトリ変更
ディレクトリ名は、現在の場所を暗黙的にディレクトリに変更するコマンドとして直接使用できます。
これは、コンカレントDOS、マルチユーザーDOS、システムマネージャ、およびREAL/32でサポートされている無関係なロードドライブ機能とは区別する必要があります。これらの機能では、ドライブ文字L:が暗黙的に更新され、ロードされたアプリケーションのロードパスを指すようになり、アプリケーションはロードディレクトリにあるファイルを絶対パスではなく標準化されたドライブ文字で参照できるようになります。[51]
自動修正

コマンドラインがコマンドまたは引数と直接一致しない場合、スペルチェックによって一般的な入力ミス (大文字と小文字の区別、文字の欠落など) を自動的に修正できます。これには 2 つの方法があります。シェルはコマンド呼び出し時に可能性のある修正を提案するか、補完または自動提案の一部としてこれをより早く行うことができます。
tcshおよびzshシェルには、コマンド呼び出し時にオプションでスペル チェック/修正を行う機能があります。
Fish は、補完時に自動修正と自動提案を行います。そのため、コマンド全体を入力して Enter キーを押すときにこの機能が邪魔になることはありませんが、Tab キーと右矢印キーを多用すると、シェルは大文字と小文字をほとんど区別しなくなります。
PSReadLine [31] PowerShellモジュール(バージョン5.0に同梱)には、コマンドを送信する前に実行されるCommandValidationHandler ScriptBlockを指定するオプションがあります。これにより、よく入力ミスされるコマンドをカスタム修正したり、実際にコマンドを実行する前に検証したりすることができます。
進捗インジケーター
シェル スクリプト (またはジョブ) は、長時間実行されているタスクの進行状況を対話型ユーザーに報告できます。
Unix/Linuxシステムでは、スクリプトから進行状況インジケーターを使用したり、プログラム「pv」などのスタンドアロンコマンドとして他のツールのサポートを提供したりする場合があります。[52]ただし、これらはシェルに統合された機能ではありません。
PowerShell には、進行状況バーの作成/更新用の組み込みコマンドと API 関数 (コマンドの作成時に使用) があります。進行状況バー メッセージは通常のコマンド出力とは別に送信され、進行状況バーは、進行状況メッセージが対話型スクリプト、バックグラウンド ジョブ、またはリモート セッションのいずれから生成されたかに関係なく、常に最終的な対話型ユーザー コンソールに表示されます。
色分けされたディレクトリリスト
JP Software のコマンドライン プロセッサは、オプションで定義された環境変数を通じて、ファイル拡張子や属性に基づいて、ディレクトリ リスト内のファイル名とディレクトリ名をユーザーが構成可能な色分けで表示します%COLORDIR%。
Unix/Linux シェルの場合、これはlsコマンドとターミナル の機能です。
テキストの強調表示
DOS Plus、マルチユーザー DOS、REAL/32 、およびDR-DOSのすべてのバージョンのコマンド ライン プロセッサは、TYPEなどのコマンドで表示または印刷の目的でテキストの強調表示、反転、または色付けを制御できるエスケープ シーケンスを定義するためのオプションの環境変数をいくつかサポートしています。前述のコマンド ライン プロセッサはすべて、%$ON%と をサポートしています%$OFF%。 が定義されている場合、これらのシーケンスはファイル名の前後に出力されます。 の一般的なシーケンスは、ASCII端末の場合はANSI.SYSと組み合わせ%$ON%、IBMまたはESC/Pプリンタの場合は です。同様に、 の一般的なシーケンスは、それぞれ、 、です。 変数と は、DR-DOS 7.02 以降の COMMAND.COM によってのみサポートされ、テキストの強調表示、ページ付け、またはその他の書式設定オプションを制御するためにテキスト ブロックの前後に出力されるシーケンスを定義します。
\033[1m\033p\016%$OFF%\033[0m\033q\024%$HEADER%%$FOOTER%
Unix/Linux シェルの場合、これはターミナルの機能です。
構文の強調表示
fishシェルの特徴的な機能は、組み込みの構文強調表示です。ユーザーが入力すると、入力が有効なコマンドであるかどうか(実行可能ファイルが存在し、ユーザーに実行権限があるかどうか)を示すためにテキストが色分けされ、有効なファイルパスには下線が引かれます。[53]
独立したプロジェクトでは、Z Shell (zsh) のアドオンとして構文強調表示を提供しています。[54]ただし、これはシェルの一部ではありません。
PowerShellは、PSReadLine [31]モジュールを通じて、コマンドライン上でカスタマイズ可能な構文強調表示を提供します。このモジュールはPowerShell v3.0以降で使用でき、v5.0以降にバンドルされています。v5.0以降、コマンドラインホスト「powershell.exe」にデフォルトでロードされます。[55]
Take Command Console (TCC) は、統合環境で構文の強調表示を提供します。
状況に応じたヘルプ
4DOS、4OS2、4NT / Take Command コンソールおよび PowerShell (PowerShell ISE 内) は、が押されたときにコンテキスト依存のヘルプ情報を検索します。 F1
Zsh は、run-helpウィジェット、_complete_helpコマンドの一部として、または一部のコマンドのオプションの補完として、さまざまな形式の設定可能なコンテキスト依存ヘルプを提供します。
fish シェルは、タブ補完中にコマンドのフラグの簡単な説明を提供します。
プログラミング機能
文字列処理とファイル名のマッチング
プロセス間通信
キーストロークのスタッキング
実行中の特定のアプリケーションがキーボード入力として受け入れる可能性のあるものを予測して、シェルのユーザーは、一連のシミュレートされたキーストロークを生成するようにシェルに指示します。アプリケーションは、これを対話型ユーザーからのキーボード入力として解釈します。キーストローク シーケンスを送信することで、ユーザーは、入力リダイレクトでは実現できない、または対話型ユーザーを必要とするアクションをアプリケーションに実行させることができます。たとえば、アプリケーションがリダイレクトできないキーストロークに反応する場合、通常のキーと拡張キーを区別する場合、起動時または特定の条件下で新しい入力を受け入れる前にキューをフラッシュする場合、または標準入力をまったく読み取らない場合などです。キーストローク スタッキングは通常、シミュレートされたキーの送信タイミングを制御したり、キューがフラッシュされるまで新しいキーを遅延したりする手段も提供します。また、キーボードに存在しないキー (対応するキーが物理的に存在しないか、異なるキーボード レイアウトが使用されているため) をシミュレートして、ユーザーが入力できないようにすることもできます。
セキュリティ機能
安全なプロンプト
シェルスクリプトの中には、パスワード、秘密デジタルキー、PINコード、その他の機密情報などの機密情報をユーザーに問い合わせるものがあります。機密入力は、権限のない人物に盗み取られる可能性があるため、画面や入力デバイスにエコーバックされるべきではありません。機密情報のプレーンテキストメモリ表現も、スワップファイルやコアダンプなどを通じて情報が危険にさらされる可能性があるため、避けるべきです。[71]
bash、zsh、PowerShell の各シェルは、これを固有の機能として提供しています。[72] [73]これを固有の機能として提供していないシェルでも、他の手段でエコーをオフにできる場合があります。Unix/Linux オペレーティングシステムで実行されるシェルは、stty外部コマンドを使用して、入力文字のエコーのオン/オフを切り替えることができます。[74]文字をエコーバックしないことに加えて、PowerShell のオプションは、入力プロセス中に入力を文字ごとに暗号化し、文字列がメモリ内で暗号化されていない状態で表されることがないようにし、メモリダンプ、スキャン、転写などによって文字列が侵害される可能性を防ぎます。
-AsSecureString
実行権限
一部のオペレーティング システムでは、ファイル システム自体がサポートしている場合に、ファイルに対してユーザー/グループに付与できる実行権限が定義されています。
Unix システムでは、実行権限はファイルをプログラムとして呼び出すアクセスを制御し、実行可能ファイルとスクリプトの両方に適用されます。権限はプログラム ローダーで強制されるため、実行権限を強制するにあたって、呼び出し元プログラムにも呼び出されるプログラムにも義務はありません。これは、シェルやその他のインタープリタ プログラムにも当てはまります。この動作は、カーネルとのインターフェイスに使用されるPOSIX C ライブラリexecによって義務付けられています。POSIX では、ファイルが実行権限を拒否した場合、関数ファミリーは EACCESS (権限拒否) で失敗するものと規定されています ( 「System Interfaces Reference, The Single UNIX Specifications、バージョン 4、The Open Group 」を参照)。
実行権限は、スクリプトが直接実行される場合にのみ適用されます。スクリプトが解釈シェルへの引数として呼び出されると、ユーザーがそのスクリプトの実行権限を保持しているかどうかに関係なく、スクリプトが実行されます。
Windows でも実行権限が指定されていますが、権限が付与されていない場合、Windows 固有のシェルはいずれもスクリプトの実行をブロックしません。
制限付きシェルサブセット
いくつかのシェルは、ユーザーが使用できるコマンドとアクションの制限されたセットのみのモードで起動したり、起動するように構成したりできます。これはセキュリティ境界ではありませんが(リソースではなく、リソースにアクセスするコマンドがブロックされます)、ログイン前のユーザーのアクションを制限するために通常使用されます。
制限モードはシェルのPOSIX仕様の一部であり、ほとんどのLinux/Unixシェルは、いくつかの組み込みコマンドが無効にされ、特定のディレクトリからの外部コマンドのみが呼び出されるモードをサポートしています。[75] [76]
PowerShellは、セッション構成ファイルまたはセッション構成を通じて制限モードをサポートします。セッション構成ファイルでは、表示可能な(利用可能な)コマンドレット、エイリアス、関数、パスプロバイダーなどを定義できます。[77]
安全なデータサブセット
他のスクリプトを呼び出すスクリプトは、最初のスクリプトを起動したユーザーのコンテキストで外部コードを実行する可能性があるため、セキュリティ上のリスクになる可能性があります。スクリプトは通常、既知の安全な場所からのスクリプトのみを含めるように設計されていますが、たとえば、ユーザーに環境を構成する方法を提供したり、ローカライズされたメッセージをロードしたりする場合には、スクリプトに他のスクリプト/ファイルを含める必要がある場合があります。[78]このリスクに対処する1つの方法は、シェルが、含まれているスクリプトによって実行できる安全なコマンドのサブセットを提供することです。
PowerShellデータセクションには、制限された演算子とコマンドのサブセットを使用した定数と式を含めることができます。[79] PowerShellデータセクションは、たとえば、ローカライズされた文字列を外部ソースから読み取る必要がある場合に使用され、望ましくない副作用を防ぎます。
注記
- ^ 1990年代半ば以降。
- ^ -DACCT でコンパイルした場合。
- ^ MS-DOS および Windows コンポーネント – MS-DOS または Microsoft Windows の有効なライセンスによってカバーされます。
- ^ OS/2 コンポーネント – OS/2 の有効なライセンスによってカバーされています。
- ^ コマンド拡張機能が有効、または「CMD /X」。
- ^ Windows コンポーネント – Microsoft Windows の有効なライセンスによってカバーされます。
- ^ Microsoft PowerShell は、Windows 7 以降ではデフォルトでインストールされます。Windows Vista または Windows XP のユーザーの場合はオプションでダウンロードできます。
- ^ abc 最新版は Jörg Schilling より。
- ^ Alt-Shift-8 または Alt-* を押すと、一致するファイル名のリスト全体が展開されます。
- ^ DOSKEYアドオンを通じて利用可能です。
- ^ HISTORYを通じて DR-DOS で利用可能です。
- ^ DOSKEYアドオンからも利用できます。
- ^ DR-DOS のHISTORY経由でも利用できます。
- ^ TCC には、はい、いいえ、キャンセル、閉じる、再試行などの特別なプロンプト機能があります。
- ^ abc rio、GNU readline 、editline、または vrlによって処理されます。
- ^ 魚のシェルは、インタラクティブな文字ベースの入出力サーフェスです。
- ^ シェル組み込みとしては使用できません。外部FINDSTR /Rコマンドは、ほとんどの Windows リリースで使用できます。
- ^ PowerShell は、名前付きキャプチャ、ゼロ幅先読み/後読み、貪欲/非貪欲、文字クラス、レベル カウントなどの機能を備えた完全な.NET正規表現エンジンを活用します。
- ^ abcdefghijk xautomation と xdotool は、 X Window Systemでキーストロークを生成するために使用できます。また、プログラムを疑似端末で実行して制御することもできます ( expectツールの場合と同様)。
- ^ abcdefghi シェルはsttyユーティリティを使用して、入力した文字が画面にエコーされるのを抑制できます。これには複数の手順が必要です: 1. 現在のエコー状態を読み取る、2. エコーをオフにする、3. 入力を読み取る、4. エコー状態を元の状態に戻す。
- ^ abcdefghijkl 実行権限は、スクリプトのハッシュバンで指定されたインタープリタ (シェルの場合もある) の呼び出しを拒否することによって、別のプログラム (プログラム ローダー) によって強制されます。インタープリタは、ファイルを引数としてプログラム ローダーのように直接呼び出された場合、実行権限を強制しません。これには読み取り権限のみが必要です。インタープリタへの入力としてファイルをパイプする場合も同様です。この場合、インタープリタは実行権限を見ることができません。
- ^ ab zsh および fish シェルも、コマンド補完の実行権限を尊重します。
- ^ ab DR-DOS では、ファイルとディレクトリのパスワードの区切り文字はセミコロンです。これは、コマンドが include リストをサポートしていない限り、4DOS でもサポートされます。4DOS では、パスワードと include リストを区別するために、include リストをサポートするすべてのコマンドでパスワード区切り文字を 2 つ使用する必要があります。include リストをサポートしていないコマンドは、両方の形式を受け入れます。DR-DOS 7.02 以降では、オプションで 2 つのセミコロンも受け入れるため、実行されるコマンドに関係なく、COMMAND.COM と 4DOS の両方で 2 つのセミコロンが機能します。
- ^ ab DR-DOS は、読み取り/書き込み/削除およびオプションで実行権限のファイル パスワードをサポートします。ファイルはデフォルトでは保護されていませんが、バッチ スクリプトの読み取りにパスワードが必要になるようにシステムを設定できます。
- ^ ab INPUT /PおよびINKEY /P は、入力された文字ごとにアスタリスクをエコーバックします。
- ^ Read-Host -AsSecureString は、入力デバイスからの文字列を 1 文字ずつ暗号化された文字列に読み取ります。これにより、メモリのスキャン、クラッシュ ダンプ、メモリ ダンプ、ページング ファイル、ログ ファイルなどから収集される可能性のあるクリア テキストのメモリ イメージが存在しないことが保証されます。
- ^ PowerShell スクリプト ファイル ( .ps1ファイル) は、既定では PowerShell 実行エンジンではなくメモ帳エディターに関連付けられています。.ps1 ファイルを呼び出すと、スクリプトが実行されずにメモ帳が起動します。
- ^ コンピュータ/ユーザーごとの起動スクリプトはモジュールをインポートし、モジュールで使用可能なコマンド/関数のサブセットを公開できます。
参考文献
- ^ 歴史的なUNIX V7のオリジナルソースコードに基づくプラットフォームに依存しないバージョンは、Geoff Collyerから入手可能です。
- ^歴史的な UNIX V7 バージョンは 、The Unix Heritage Societyなどを通じて BSD スタイルのライセンスの下で入手可能です。
- ^ SVr4/Solarisソースコードに基づくプラットフォーム非依存バージョンはJörg Schillingから入手可能である。
- ^ Ferrell, John、「第 2 章 デフォルト シェル」、Linux ユーザー向け FreeBSD クイックスタート ガイド、FreeBSD ドキュメンテーション プロジェクト、 2015 年 7 月 24 日取得
- ^ 「SchilliX-ON / SchilliX-ON Mercurial / [b1d9a2] /usr/src/cmd/sh」。Sourceforge.net。2015年7月2日閲覧。
- ^ IEEEおよび The Open Group (2008)。IEEE 1003.1 情報技術標準 - ポータブル オペレーティング システム インターフェイス (POSIX): シェルとユーティリティ、第 7 版。
- ^ IEEE Std.1003.2-1992 (POSIX.2) の一部。2001 年改訂版で IEEE Std.1003.1 に統合されました。
- ^ Fox, Brian (1989-06-07). Tower Jr., Leonard H. (編). 「Bash はベータ版としてリリースされました!」.ニュースグループ: gnu.announce. Usenet: 8906080235.AA01983@wheat-chex.ai.mit.edu . 2010-10-28に取得。
- ^ Cooper, Mendel、「第 37.3.2 章 Bash バージョン 4.2」、Advanced Bash-Scripting Guide、The Linux Documentation Project 、 2015-04-30取得「Bash は \u および \U Unicode エスケープをサポートするようになりました。」
- ^ Greer, Ken (1983-10-03). 「コマンドとファイル名の認識/補完機能を備えた C シェル」。ニュースグループ: net.sources。2010年 12 月 29 日閲覧。
- ^ 「Linux®ユーザー向けFreeBSDクイックスタートガイド」。FreeBSDドキュメントポータル。 2024年2月4日閲覧。
- ^ Sussman, Ann (1988-12-26). 「Hamilton C Shell が OS/2 アプリケーションの開発をスピードアップ」(PDF) . PC Week (1988-12-26 - 1989-01-02): 37 . 2010-11-22閲覧。
- ^ Gomes, Ron (1983-06-09). 「Toronto USENIX Conference Schedule (tentative)」.ニュースグループ: net.usenix . 2010-12-29閲覧。
- ^ Harris, Guy (1983-10-10). 「csh の質問」.ニュースグループ: net.flame . 2010-12-29閲覧。
- ^ ab ksh93(1) マニュアルページ
- ^ ab OpenBSD のデフォルトのシェルは ksh (pdksh) です。
- ^ zsh コマンドライン エディターは完全に構成可能で、Stéphane Chazelas の mouse.zsh など、さまざまな方法でマウスのサポートを許可できます。
- ^ zsh(1) マニュアルページとサブページ
- ^ zshbuiltins(1) マニュアルページ
- ^ Lefevre, Vincent (2015-02-11). 「multi-digit file descriptions」. zsh-users (メーリングリスト) . 2021-12-23閲覧。
- ^ 「#782228 - busybox sh は文字列処理でマルチバイト文字をサポートしていません - Debian バグレポートログ」。Bugs.debian.org。2015 年 4 月 9 日。2015年 7 月 2 日閲覧。
- ^ 「HP OpenVMS DCL ディクショナリ」。2007 年 3 月 25 日時点のオリジナルよりアーカイブ。2009 年 3 月 23 日閲覧。
- ^ Larabel, Michael (2021-03-23). 「Plan 9 の著作権が Foundation に譲渡され、MIT ライセンスのコードがリリースされました」。Phoronix 。2021年 3 月 28 日閲覧。
- ^ Liljencrantz, Axel (2005-05-17). 「Fish - フレンドリーなインタラクティブシェル」 . 2013-04-08閲覧。
- ^ Soller, Jeremy (2015-11-15). 「d79c8f511573fb7710abc63b4236a40022914520」。2019年8月3日閲覧。
- ^ 「[Z Shell] 補完システム」Zsh.sourceforge.io . 2015年2月24日閲覧。
- ^ これは予約語やその他の構文機能にのみ適用されます。
- ^ 例えば、zsh-autosuggestions などのサードパーティ経由
- ^ zsh には構文強調表示機能はありませんが、この機能をアドオンとして提供するサードパーティのプロジェクトが存在します: zsh-syntax-highlighting
- ^ Paul, Matthias R. (1997-10-02) [1997-09-29]. 「Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT および BOOT.TXT - OpenDOS の起動方法に関する簡単な説明」。2003-10-04 にオリジナルからアーカイブ。2009-03-29に取得。[1]
- ^ abcde Shirk, Jason (2018-02-15). 「PSReadLine: PowerShell 用の bash にインスパイアされた readline 実装」 – GitHub 経由。
- ^ 「Windows PowerShell 5.0」。2016年9月17日時点のオリジナルよりアーカイブ。 2016年9月8日閲覧。
- ^ abcde 「Windows PowerShell Integrated Scripting Environment (ISE)」。Microsoft Technet。2015年 9 月 12 日閲覧。
- ^ 「Get-ChildItemColor」。GitHub。2022-03-18。
- ^ sdwheeler. 「Write-Host (Microsoft.PowerShell.Utility) - PowerShell」. docs.microsoft.com . 2022 年 1 月 18 日閲覧。
- ^ Push-Location (エイリアス を使用
pushd) および Pop-Location (エイリアス を使用popd) を使用すると、複数の場所の種類 (ファイル システムのディレクトリ、Active Directoryの組織単位、 Windows レジストリのノードなど) を場所スタックにプッシュしたり、場所スタックからポップしたりできます。 - ^ $host.ui.PromptForChoice 関数を使用すると、選択肢のメニュー スタイルのプロンプトを表示できます。プロンプトは、バックグラウンド ジョブとリモート セッションの両方で機能し、制御セッションのコンソールにメニュー プロンプトを表示します。
- ^ Write-Progress コマンドレットは、パーセンテージ、残り秒数などを示す進行状況バーを書き込みます。進行状況バーのメッセージは、対話型スクリプトに加えて、バックグラウンド ジョブまたはリモート セッションからも機能します。つまり、進行状況バーは通常の出力の一部としてではなく、制御セッションのコンソールに表示されます。
- ^ Show-Commandコマンドレットはコマンド定義を検査し、各パラメータ/スイッチの名前付き入力フィールドを持つ対話型ウィンドウを開きます。
- ^ ab "fish: Documentation". セクションTab 補完. 2016 年 1 月 10 日閲覧。
- ^ “set_color - ターミナルの色を設定する — fish-shell 3.1.2 ドキュメント”. fishshell.com . 2020-02-17 にオリジナルからアーカイブ。2021-02-23に取得。
- ^ 「abbr - fish の略語を管理する — fish-shell 3.1.2 ドキュメント」。fishshell.com。2021年2 月 23 日閲覧。
- ^ sdwheeler. 「Start-Process (Microsoft.PowerShell.Management) - PowerShell」. learn.microsoft.com . 2022 年 10 月 21 日閲覧。
- ^ sdwheeler. 「Start-Job (Microsoft.PowerShell.Core) - PowerShell」. learn.microsoft.com . 2022 年 10 月 21 日閲覧。
- ^ 「zsh: 20. 補完システム」Zsh.sourceforge.io. 2013-03-06 . 2013-08-18に閲覧。
- ^ 「PowerShell を使用して必須パラメーターを作成する」。Blogs.technet.com。2011 年 5 月 22 日。2015年 2 月 24 日閲覧。
- ^ sdwheeler. 「PowerShell 5.0 ISE の新機能 - PowerShell」. docs.microsoft.com . 2021 年 7 月 25 日閲覧。
- ^ 「GitHub - marlonrichert/zsh-autocomplete: 🤖 Zsh のリアルタイム先行入力補完。非同期の検索による入力補完」。GitHub。2021年7 月 25 日閲覧。
- ^ 「対話型使用 — fish-shell 3.3.1 ドキュメント」。fishshell.com 。2021年7月25日閲覧。
- ^ Hahn, Harley (2009). Harley Hahn の Unix と Linux ガイド. ボストン: McGraw-Hill Higher Education. ISBN 978-0-07-313361-4. OCLC 184828059.
- ^ Concurrent DOS 386 - マルチユーザー/マルチタスク オペレーティング システム - ユーザー ガイド(PDF) . Digital Research .
- ^ 「pv(1): パイプを介したデータの進行状況を監視する - Linux man ページ」。Linux.die.net。2015年 2 月 24 日閲覧。
- ^ 「fish: チュートリアル」。fishshell.com 。2022年10月21日閲覧。
- ^ 「 zsh -users/zsh-syntax-highlighting: Zsh 用の Fish シェルのような構文強調表示」。GitHub。2013年 8 月 18 日閲覧。
- ^ sdwheeler. 「PSReadLine モジュール - PowerShell」. learn.microsoft.com . 2023 年 4 月 26 日閲覧。
- ^ Matheus Garciaによる組み込み関数「function」の紹介
- ^ 「Ash Variants」。2010年3月10日時点のオリジナルよりアーカイブ。2014年12月15日閲覧。
- ^ 「設定 - 環境変数 - Windows CMD」。SS64.com 。 2015年2月24日閲覧。
- ^ 「配列をバッチでループする方法は?」 Stack Overflow 。2015 年 2 月 24 日閲覧。
- ^ .NET System.Mathクラスは、ショートカット[Math]を通じて使用できる数学関数を定義します。たとえば、正弦関数の場合は[Math]::Sinです。[2]
- ^ 「GetNewClosure でクロージャを取得する」。devblogs.microsoft.com。2009 年 3 月 27 日。2022年 9 月 12 日閲覧。
- ^ 「string - 文字列を操作する — fish-shell 3.1.2 ドキュメント」。fishshell.com 。2021年2月23日閲覧。
- ^ Hamilton C シェル言語リファレンス: ワイルドカードとパターン マッチング、Hamilton Laboratories 、 2013 年 10 月 29 日取得、
...
不定ディレクトリ: パターンの残りの部分が一致するように、任意の数 (0 個以上) のディレクトリ レベルに一致します。
- ^ ab Seebach, Peter (2008-11-21). ポータブル シェル スクリプト入門: 初心者からプロまで。オープンソースの専門家の声。Apress (2008 年発行)。p. 149。ISBN 9781430210436. 2014-09-17取得。
中括弧展開は、ksh93、pdksh、bash、および zsh で使用できます。
- ^ Zsh はさまざまなグロブ オプションを提供します。
- ^ sdwheeler. 「演算子について - PowerShell」. docs.microsoft.com . 2022 年 1 月 18 日閲覧。
- ^ Brothers, Hardin; Rawson, Tom ; Conn, Rex C .; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 オンライン ヘルプ。
- ^ 「'psub --fifo' をデッドロックから安全にする方法を見つける · Issue #1040 · fish-shell/fish-shell」。GitHub。
- ^ 「データ セクションについて」。Technet.microsoft.com。2015年 2 月 24 日閲覧。
- ^ 「Ubuntu Manpage: rc - shell」。Manpages.ubuntu.com。2003-07-17。2015-02-24閲覧。
- ^ Provos, Niels. 「仮想メモリの暗号化」。ミシガン大学情報技術統合センター。 2012年12月20日閲覧。
- ^ "bash - GNU Bourne-Again SHell".
read -s サイレント モード。入力が端末から行われる場合、文字はエコーされません。
- ^ 「Read-Hostコマンドレットの使用」
-assecurestringパラメータを追加することで、プロンプトで入力されたデータをマスクすることができます。
- ^ 「Linux / Unix コマンド: stty」。Linux.about.com。2015 年 2 月 25 日時点のオリジナルよりアーカイブ。2015 年 2 月 24 日閲覧。
- ^ 「man sh - シェル、標準コマンド言語インタープリター / posix」(フランス語)。Pwet.fr。2014年12月21日時点のオリジナルよりアーカイブ。2013年8月18日閲覧。
- ^ 「Bash リファレンスマニュアル: 制限付きシェル」。Gnu.org。2010 年 12 月 28 日。2013年 8 月 18 日閲覧。
- ^ 「New-PSSessionConfigurationFile」。Technet.microsoft.com。2013年 8 月 18 日閲覧。
- ^ Albing, Carl; Vossen, JP; Newham, Cameron (2007). Bash クックブック(第 1 版). セバストポル、カリフォルニア州、米国: O'Reilly Media . ISBN 978-0-596-52678-8.
[...] は、設定された変数の受動的なリストとして考えられるようなものではありません。他のコマンド (例: cat) を実行したり、if ステートメントを使用して選択を変更したりできます。最後にメッセージをエコーすることもできます。何かをソースするときは注意してください。スクリプトへの扉が大きく開かれていることになります。
- ^ 「データ セクションについて」。Microsoft。2012年 12 月 18 日閲覧。
外部リンク
- Nasarek, Marcus (2007 年 5 月)。「記事」(PDF)。Bash と Windows Vista シェルの比較: Shell Games。Linux Magazine。2014年 10 月 10 日のオリジナルからアーカイブ(PDF) 。
- 「シェルとユーティリティ」。IEEE情報技術標準 1003.1™-2024 – ポータブル オペレーティング システム インターフェイス POSIX™.1-2024 — The Open Group 基本仕様 8 版(2024 版)。IEEE および The Open Group。2024-08-08。
