私の知る限り、[[はの拡張バージョンです[が[[、キーワード[として表示され、組み込みとして表示されると混乱します。 [root@server ~]# type [ [ is a shell builtin [root@server ~]# type [[ [[ is a shell keyword TLDPは言う ビルトインは同じ名前のシステムコマンドの同義語である場合がありますが、Bashは内部的に再実装します。たとえば、Bashのechoコマンドは/ bin / echoと同じではありませんが、動作はほとんど同じです。 そして キーワードは、予約語、トークン、または演算子です。キーワードはシェルにとって特別な意味を持ち、実際、シェルの構文の構成要素です。例として、for、while、do、および!キーワードです。ビルトインと同様に、キーワードはBashにハードコーディングされますが、ビルトインとは異なり、キーワードはそれ自体がコマンドではなく、コマンド構成のサブユニットです。[2] それは両方[と[[キーワードを作るべきではありませんか?ここに欠けているものはありますか?また、このリンクの両方のことを再断言[とは[[同じ種類に属している必要があります。
からhelp compgen: $ help compgen compgen: compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word] Display possible completions depending on the options. Intended to be used from within a shell function generating possible completions. If the optional WORD …
typeコマンドを使用してcat、シェルが組み込みか外部プログラムかを調べると、以下の出力が得られます。 -$ type cat cat is hashed (/bin/cat) -$ catこれは外部プログラムであることを意味し/bin/catますか? 私が混乱したのは、以下の出力を確認したときにecho、それがbuilt-inプログラムであることがわかったからです/bin/echo -$ type echo echo is a shell builtin -$ which echo /bin/echo -$ したがって/bin/cat、エコーは/bin/echo組み込みであるため、必ずしも外部プログラムを意味するロジックを使用できませんでした。 だから私はどのように私が知ってcatいますか?組み込みまたは外部?
私help suspendはこの短い説明を入力しました: suspend: suspend [-f] Suspend shell execution. Suspend the execution of this shell until it receives a SIGCONT signal. Unless forced, login shells cannot be suspended. Options: -f force the suspend, even if the shell is a login shell Exit Status: Returns success unless job control is not enabled …
whereとwhichシェルコマンドの違いは何ですか?下記は用例です ~ where cc /usr/bin/cc /usr/bin/cc ~ which cc /usr/bin/cc そして ~ which which which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' /usr/bin/which ~ which where /usr/bin/which: no where in (/usr/local/bin:/bin:/usr/bin:/home/bnikhil/bin:/bin) また ~ where which which: aliased to alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde which: shell built-in command /usr/bin/which /usr/bin/which …