Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Проблема Вы хотите заменить встроенную команду своей собственной функцией или сторонней командой, и вам необходимо точно знать что ваш скрипт выполняет (к примеру, /bin/echo или встроенную функцию echo). Или же вы создали новую команду и она может конфликтовать с уже существующей встроенной или сторонней программой.
bbrodriges
26.12.08 в 09:24
|
|
Решение Используйте команды type и which чтобы увидеть присутствует ли данная команда в системе и является ли она встроенной или сторонней.
bbrodriges
26.12.08 в 09:21
|
|
# type cd cd is a shell builtin # type awk awk is /bin/awk # which cd /usr/bin/which: no cd in (/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/ sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin) # which awk /bin/awk
bbrodriges
26.12.08 в 09:21
|
|
|
|
|
|
|
|
# help help help: help [-s] [pattern ...] Display helpful information about builtin commands. If PATTERN is specified, gives detailed help on all commands matching PATTERN, otherwise a list of the builtins is printed. The -s option restricts the output for each builtin command matching PATTERN to a short usage synopsis.
bbrodriges
26.12.08 в 09:29
|
|
Когда вам надо переназначить встроенную команду, используйте ее для избежание циклов. К примеру:
bbrodriges
26.12.08 в 09:27
|
|
cd ( ) { builtin cd "$@" echo "$OLDPWD --> $PWD" }
bbrodriges
26.12.08 в 09:24
|
|
|
|
|
Смотрите также • man which • help help • help builtin • help command • help enable • help type • Рецепт 19.4, “Назначение тестов вашему скриптов” • “Встроенные переменные оболочки” в Приложении А
bbrodriges
26.12.08 в 09:28
|
|