Existuje příkaz / funkce která začíná podtržítkem?

Drda

Ahoj, je možný, že existuje v bash nějaký příkaz/funkce, který by začínal podtržítkem? Díky


Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #1 kdy: 21. 11. 2017, 17:59:28 »
Ahoj, je možný, že existuje v bash nějaký příkaz/funkce, který by začínal podtržítkem? Díky

Minimálně s instalací balíku bash-completion:

Kód: [Vybrat]
_allowed_groups                 _get_pword                      _init_completion                _rl_enabled
_allowed_users                  _gids                           _insserv                        _root_command
_available_interfaces           __git_eread                     _installed_modules              _service
_cd                             __git_ps1                       _ip_addresses                   _services
_cd_devices                     __git_ps1_colorize_gitstring    _kernels                        _shells
_command                        __git_ps1_show_upstream         _kernel_versions                _signals
_command_offset                 __grubcomp                      _known_hosts                    _split_longopt
_complete_as_root               __grub_dir                      _known_hosts_real               _subdirectories
_completion_loader              _grub_editenv                   _longopt                        _sysvdirs
_configured_interfaces          __grub_get_last_option          __ltrim_colon_completions       _terms
_count_args                     __grub_get_options_from_help    _mac_addresses                  _tilde
_debconf_show                   __grub_get_options_from_usage   _minimal                        _uids
_deborphan                      _grub_install                   _modules                        _update_initramfs
_dkms                           __grub_list_menuentries         _mtx                            _upvar
_dvd_devices                    __grub_list_modules             _ncpus                          _upvars
_expand                         _grub_mkconfig                  _parse_help                     _usb_ids
__expand_tilde_by_ref           _grub_mkfont                    __parse_options                 _user_at_host
_filedir                        _grub_mkimage                   _parse_usage                    _usergroup
_filedir_xspec                  _grub_mkpasswd_pbkdf2           _pci_ids                        _userland
_filename_parts                 _grub_mkrescue                  _pgids                          _variables
_fstypes                        _grub_probe                     _pids                           _xfunc
_get_comp_words_by_ref          _grub_script_check              _pnames                         _xinetd_services
_get_cword                      _grub_set_entry                 _quote_readline_by_ref
__get_cword_at_cursor_by_ref    _grub_setup                     _realcommand
_get_first_arg                  _have                           __reassemble_comp_words_by_ref

Drda

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #2 kdy: 21. 11. 2017, 18:02:49 »
Díky moc! Poradíš i jak vypsat názvy systémových proměnných?

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #3 kdy: 21. 11. 2017, 18:11:41 »
Díky moc! Poradíš i jak vypsat názvy systémových proměnných?

Kód: [Vybrat]
set

David1234

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #4 kdy: 21. 11. 2017, 18:13:06 »
Ahoj, je možný, že existuje v bash nějaký příkaz/funkce, který by začínal podtržítkem? Díky

Minimálně s instalací balíku bash-completion:

Kód: [Vybrat]
_allowed_groups                 _get_pword                      _init_completion                _rl_enabled
_allowed_users                  _gids                           _insserv                        _root_command
_available_interfaces           __git_eread                     _installed_modules              _service
_cd                             __git_ps1                       _ip_addresses                   _services
_cd_devices                     __git_ps1_colorize_gitstring    _kernels                        _shells
_command                        __git_ps1_show_upstream         _kernel_versions                _signals
_command_offset                 __grubcomp                      _known_hosts                    _split_longopt
_complete_as_root               __grub_dir                      _known_hosts_real               _subdirectories
_completion_loader              _grub_editenv                   _longopt                        _sysvdirs
_configured_interfaces          __grub_get_last_option          __ltrim_colon_completions       _terms
_count_args                     __grub_get_options_from_help    _mac_addresses                  _tilde
_debconf_show                   __grub_get_options_from_usage   _minimal                        _uids
_deborphan                      _grub_install                   _modules                        _update_initramfs
_dkms                           __grub_list_menuentries         _mtx                            _upvar
_dvd_devices                    __grub_list_modules             _ncpus                          _upvars
_expand                         _grub_mkconfig                  _parse_help                     _usb_ids
__expand_tilde_by_ref           _grub_mkfont                    __parse_options                 _user_at_host
_filedir                        _grub_mkimage                   _parse_usage                    _usergroup
_filedir_xspec                  _grub_mkpasswd_pbkdf2           _pci_ids                        _userland
_filename_parts                 _grub_mkrescue                  _pgids                          _variables
_fstypes                        _grub_probe                     _pids                           _xfunc
_get_comp_words_by_ref          _grub_script_check              _pnames                         _xinetd_services
_get_cword                      _grub_set_entry                 _quote_readline_by_ref
__get_cword_at_cursor_by_ref    _grub_setup                     _realcommand
_get_first_arg                  _have                           __reassemble_comp_words_by_ref

Nepřijde ti, že je toho nějak moc? :) Co by měl dělat třeba příkaz _cd? ;)


Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #5 kdy: 21. 11. 2017, 18:36:48 »
Nepřijde ti, že je toho nějak moc? :) Co by měl dělat třeba příkaz _cd? ;)

Vím já? Definice je (Debian Jessie):

Kód: [Vybrat]
_cd ()
{
    local cur prev words cword;
    _init_completion || return;
    local IFS='
' i j k;
    compopt -o filenames;
    if [[ -z "${CDPATH:-}" || "$cur" == ?(.)?(.)/* ]]; then
        _filedir -d;
        return 0;
    fi;
    local -r mark_dirs=$(_rl_enabled mark-directories && echo y);
    local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y);
    for i in ${CDPATH//:/'
'};
    do
        k="${#COMPREPLY[@]}";
        for j in $( compgen -d $i/$cur );
        do
            if [[ ( -n $mark_symdirs && -h $j || -n $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then
                j+="/";
            fi;
            COMPREPLY[k++]=${j#$i/};
        done;
    done;
    _filedir -d;
    if [[ ${#COMPREPLY[@]} -eq 1 ]]; then
        i=${COMPREPLY[0]};
        if [[ "$i" == "$cur" && $i != "*/" ]]; then
            COMPREPLY[0]="${i}/";
        fi;
    fi;
    return 0
}

David1234

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #6 kdy: 21. 11. 2017, 18:53:37 »
Předpokládám že podtržítkem začínají hlavně funkce a aliasy? Zkusil jsem prohledat svoji distribuci a žádnou binárku ani vestavěný příkaz který by začínal podtržítkem jsem nenašel.

Samozřejmě to neznamená že takový příkaz není.

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #7 kdy: 21. 11. 2017, 19:04:37 »
Předpokládám že podtržítkem začínají hlavně funkce a aliasy? Zkusil jsem prohledat svoji distribuci a žádnou binárku ani vestavěný příkaz který by začínal podtržítkem jsem nenašel.

Samozřejmě to neznamená že takový příkaz není.

Já se domnívám, že to je z bash-completion, ale jsem líný to hledat. Dotaz zněl, jestli je to možné - a ano, je to možné, dokonce jsem to našel ve své běžící, poměrně standardní instalaci Debiana.

V čistém bashi asi takový příkaz není, v systému standardně taky ne.


Kit

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #9 kdy: 21. 11. 2017, 20:32:44 »

nobody(ten pravej)

Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #10 kdy: 21. 11. 2017, 22:31:00 »
env nevypíše funkce, ale jen proměnné.
pripomenu k tomu otazku ;-)
Díky moc! Poradíš i jak vypsat názvy systémových proměnných?


Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #11 kdy: 21. 11. 2017, 22:45:39 »
Ježiš, pánové, neměřte si tu pindíky. Já souhlasím s tím, že env vypíše jen proměnné, set vypíše zbytečně moc kravin. Tazatel už si z toho snad vybere - a pokud ne, tak my ho stejně nezachráníme :).


Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #13 kdy: 22. 11. 2017, 03:14:43 »
set vypíše zbytečně moc kravin
set je hlavně interní příkaz shellu a vypisuje interní struktury shellu. /usr/bin/env je externí program, který vypíše, co se skutečně exportuje, protože do shellu nevidí.

Kód: [Vybrat]
export
Kód: [Vybrat]
# export
export: Command not found.
:)

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Existuje příkaz / funkce která začíná podtržítkem?
« Odpověď #14 kdy: 22. 11. 2017, 08:58:14 »
že by zsh? Vlákno začalo dotazem na bash, export je bash command.

Pokud chcete tohle úplně nezávislé na implementaci shellu, na linuxu funguje

cat /proc/self/environ