Come faccio a distinguere un comando, un'utilità o un incorporato per ottenere la documentazione?


9

Sto eseguendo gli script di Bash, ma a volte mi confondo quale di questi comandi che uso appartenga a chi. A volte man xxxfunziona, a volte no, quindi uso --helpo info, principalmente uno di questi lavori per mostrare la descrizione del comando. Qualcuno può dirmi come vorrei sapere quale comando appartiene a cosa? Bash integrato, utility GNU, ecc.

Risposte:


6

Puoi usare typeper scoprire:

$ type echo
echo is a shell builtin
$ type sudo
sudo is /usr/bin/sudo

Per i built-in bash, utilizzare help, come in help echo.


3

Alcuni comandi integrati sono inclusi per motivi di efficienza ed esistono innanzitutto come comandi esterni. Per esempio:

$ type -a echo
echo is a shell builtin
echo is /bin/echo

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

Un'analisi dettagliata di builtin e comandi esterni può essere trovata in Unix e Linux .


Per quanto riguarda ottenere aiuto per doppi comandi incorporati / comandi esterni come quelli echoche hai due scelte. Un metodo consiste nell'utilizzare man echo:

ECHO(1)                               User Commands                               ECHO(1)

NAME
       echo - display a line of text

SYNOPSIS
       echo [SHORT-OPTION]... [STRING]...
       echo LONG-OPTION

DESCRIPTION
       Echo the STRING(s) to standard output.

       -n     do not output the trailing newline

       -e     enable interpretation of backslash escapes

       -E     disable interpretation of backslash escapes (default)

       --help display this help and exit

       --version
              output version information and exit

       If -e is in effect, the following sequences are recognized:

       \\     backslash

       \a     alert (BEL)

 Manual page echo(1) line 1 (press h for help or q to quit)

E puoi digitare:

$ help echo
echo: echo [-neE] [arg ...]
    Write arguments to the standard output.

    Display the ARGs, separated by a single space character and followed by a
    newline, on the standard output.

    Options:
      -n    do not append a newline
      -e    enable interpretation of the following backslash escapes
      -E    explicitly suppress interpretation of backslash escapes

    `echo' interprets the following backslash-escaped characters:
      \a    alert (bell)
      \b    backspace
      \c    suppress further output
      \e    escape character
      \E    escape character
      \f    form feed
      \n    new line
      \r    carriage return
      \t    horizontal tab
      \v    vertical tab
      \\    backslash
      \0nnn the character whose ASCII code is NNN (octal).  NNN can be
        0 to 3 octal digits
      \xHH  the eight-bit character whose value is HH (hexadecimal).  HH
        can be one or two hex digits

    Exit Status:
    Returns success unless a write error occurs.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.