История изменений
Исправление vM, (текущая версия) :
почему для вызова терминальных команд, вроде cd, dd, ffmpeg или btop, вручную не указывается путь к ним
Не для всякой команды есть отдельная программа со своим отдельным исполняемым объектным файлом. У каждого командного интерпретатора есть «встроенные» команды, которые инерпретатор выполняет сам.
Например, cd
в системах, созданных по аналогии c UNIXом бессмысленно делать в виде отдельной программы. По завершении программы working directory останется тот же самый, что и до выполнения.
Вот, например, список встроенных команд GNU bash
а, начинающихся на «c»
help -d c
caller - Return the context of the current subroutine call.
case - Execute commands based on pattern matching.
cd - Change the shell working directory.
command - Execute a simple command or display information about commands.
compgen - Display possible completions depending on the options.
complete - Specify how arguments are to be completed by Readline.
compopt - Modify or display completion options.
continue - Resume for, while, or until loops.
coproc - Create a coprocess named NAME.
Интерпретатор может обрабатывать сокращения и алиасы(псевдонимы) команд:
alias bls=/bin/ls
bls /
bin boot dev etc home init lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
Интерпретор может искать программы для выполнения «внешних» команд в PATH (с помощью exec
** или чего-то подобного), как Вы верно написали, или ещё в каких-то известных ему местах.
терминальных команд
И почему команды «терминальные»? 🙄
Исправление vM, :
почему для вызова терминальных команд, вроде cd, dd, ffmpeg или btop, вручную не указывается путь к ним
Не для всякой команды есть отдельная программа со своим отдельным исполняемым объектным файлом. У каждого командного интерпретатора есть «встроенные» команды, которые инерпретатор выполняет сам.
Например, cd
в системах, созданных по аналогии c UNIXом бессмысленно делать в виде отдельной программы. По завершении программы working directory останется тот же самый, что и до выполнения.
Вот, например, список встроенных команд GNU bash
а, начинающихся на «c»
help -d c
caller - Return the context of the current subroutine call.
case - Execute commands based on pattern matching.
cd - Change the shell working directory.
command - Execute a simple command or display information about commands.
compgen - Display possible completions depending on the options.
complete - Specify how arguments are to be completed by Readline.
compopt - Modify or display completion options.
continue - Resume for, while, or until loops.
coproc - Create a coprocess named NAME.
Интерпретатор может обрабатывать сокращения и алиасы(псевдонимы) команд:
alias bls=/bin/ls
bls /
bin boot dev etc home init lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
Интерпретор может искать программы для выполнения «внешних» команд в PATH (с помощью exec** или чего-то подобного), как Вы верно написали, или ещё в каких-то известных ему местах.
терминальных команд
И почему команды «терминальные»? 🙄
Исходная версия vM, :
почему для вызова терминальных команд, вроде cd, dd, ffmpeg или btop, вручную не указывается путь к ним
Не для всякой команды есть отдельная программа со своим отдельным исполняемым объектным файлом. У каждого командного интерпретатора есть «встроенные» команды, которые инерпретатор выполняет сам.
Например, cd
в системах, созданных по аналогии c UNIXом бессмысленно делать в виде отдельной программы. По завершении программы working directory останется тот же самый, что и до выполнения.
Вот, например, список встроенных команд GNU bash
а, начинающихся на «c»
help -d c
caller - Return the context of the current subroutine call.
case - Execute commands based on pattern matching.
cd - Change the shell working directory.
command - Execute a simple command or display information about commands.
compgen - Display possible completions depending on the options.
complete - Specify how arguments are to be completed by Readline.
compopt - Modify or display completion options.
continue - Resume for, while, or until loops.
coproc - Create a coprocess named NAME.
Интерпретатор может обрабатывать сокращения и алиасы(псевдонимы) команд:
alias bls=/bin/ls
bls /
bin boot dev etc home init lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
Интерпретор может искать программы для выполнения «внешних» команд в PATH, как Вы верно написали, или ещё в каких-то известных ему местах.
терминальных команд
И почему команды «терминальные»? 🙄