0

でコマンドを使用するtypeset -fksh、関数のリストとその定義がstdoutに表示されます。それらの関数が定義されている場所を検索しようとしましたが、それらについてのヒントは見つかりませんでした。誰かが私がそれらを見つけるのを手伝ってもらえますか?

編集

私はtypesetコマンドの使い方を学んでいて、man typesetgame me none(no manual entry for typeset)と入力しています。を使用して表示される関数をtypeset -f定義するには、関数を定義し、を使用してエクスポートする必要がありますtypeset -xf

4

2 に答える 2

1

関数は、、またはFPATH変数(およびおそらく他の場所でも)によって参照されるdir.profileから呼び出されたファイルまたはdirに入れられたファイルで宣言できます。起動時に処理されるファイルの順序を注意深く.profileお読みください。man ksh「呼び出し」、「ファイル」、および「関数」セクションを検索します。

また、kshが設定するデフォルト関数のグループがあります。したがって、質問を編集して、関係する関数名を表示してください。

IHTH

于 2013-01-17T17:34:43.837 に答える
0

シェルは、関数(またはエイリアス、変数など)が定義されている場所の記録を保持しません。概念的には、シェル履歴などのインタラクティブな使用機能にもかかわらず、シェルは一度に1つずつ入力からコマンドを読み取り、実行してから忘れます。これらのコマンドは、インタラクティブな入力から得られる場合もあれば、スクリプトから得られる場合もあります。シェルの環境で関数を定義するなどの副作用がある場合もありますが、実行が終了した後でも、シェルはコマンドまたはシェルの入力ストリーム内のその位置を記憶していません。

于 2013-01-17T16:24:20.577 に答える