Объяснить фон для ответа Rush, export
ничего не делает с исполняемыми файлами в $PATH
. export PATH
просто означает, что "Я хочу, чтобы переменная ПУТИ была наследована всеми дочерними процессами". И что происходит, когда Вы вводите myprogram
на подсказке и нажимают Enter, ряд поисков в оболочке.
Когда команда указана в Bash без пути (например, myprogram или ls), и это не псевдоним, функция, встроенная или ключевое слово, Bash перерывает каталоги в ПУТИ в порядке слева направо, чтобы видеть, содержат ли они исполняемый файл имени, которое Вы ввели.
$PATH
, другими словами, список каталогов, который является, почему он не может использоваться для единственных команд (кроме неявно путем помещения исполняемого файла в отдельном каталоге). Вы не можете способствовать команде встроенное или ключевое слово, но можно создать функцию или псевдоним. См. предыдущую ссылку для простого объяснения их различий.
Если csv.gz.md5
был сгенерирован с помощью md5sum csv.gz > csv.gz.md5
, затем можно проверить использование md5sum -c cvs.gz.md5
.
$ echo Hello World > something.abc
$ md5sum something.abc > something.abc.md5
$ md5sum -c something.abc.md5 && echo YAY || echo NAY
something.abc: OK
YAY
$ echo Garbage >> something.abc
$ md5sum -c something.abc.md5 && echo YAY || echo NAY
something.abc: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
NAY