パラメータのないsetコマンドの機能は何ですか?

パラメータのないsetコマンドの機能は何ですか?

setパラメータのないコマンドは何をしますか?

ご覧のとおり、コマンドenvと同様に、環境変数がアルファベット順に印刷されます。そして、いくつかの異なる情報(変数?関数?)をさらに印刷します。たとえば、次のようになります。

__git_printf_supports_v=yes
__grub_script_check_program=grub-script-check
...
quote () 
{ 
    local quoted=${1//\'/\'\\\'\'};
    printf "'%s'" "$quoted"
}
quote_readline () 
{ 
    local quoted;
    _quote_readline_by_ref "$1" ret;
    printf %s "$ret"
}

それは何であり、どこから来るのですか?

setパラメータがないと、コマンドに関する情報が見つかりません。実際、私のLinuxディストリビューションにはmanページがまったくありません。set

ベストアンサー1

set環境変数だけでなく、リストの最後に表示されるシェル関数まで、すべてのシェル変数を表示するシェル組み込みです。

変数は、行の実行またはインポート時に設定できる構文で表されます。

~からbash マニュアルページ:

オプションまたは引数が指定されていない場合、setは現在のロケールに従ってソートされているすべてのシェル変数と関数の名前と値を、現在設定されている変数を設定またはリセットするための入力として再利用できる形式で表示します。

動作は他のシェルで必ずしも同じである必要はありません。たとえば、ksh setシェル機能は表示されません。

おすすめ記事