Абсолютный путь в сценариях bash

У меня есть сценарий оболочки myscript.sh который вызывает команду, скажем, mycmd . Когда я запускаю этот сценарий из терминала, например ./myscript.sh , все работает нормально.

Но когда я добавляю этот скрипт к crontab, вывод mycmd пуст. Когда я вызываю /usr/local/bin/mycmd внутри myscript.sh все работает отлично.

Итак, почему я должен использовать абсолютный путь к исполняемому файлу? Это потому, что это не в $PATH «cron-bash»?

  • Как создать цепочку команд?
  • Используйте переменную оболочки с Awk
  • Поиск файлов по кодировке символов
  • ps - в чем разница между -o comm и -o командой?
  • Как искать скобки по ack
  • Различные оболочки для интерактивной и неинтерактивной работы
  • Понимание командной строки Bash's Read-a-File
  • «Grep-ing» от A до B в выводе hexdump
  • One Solution collect form web for “Абсолютный путь в сценариях bash”

    У вас это точно: окружение cron может иметь PATH , который не включает /usr/local/bin/ . Вы можете исправить это, добавив в свой скрипт этот каталог в PATH :

     PATH="$PATH:/usr/local/bin/" 

    Однако наилучшей практикой является использование явных путей для всех внешних двоичных файлов, которые сценарий вызывает на всякий случай (например) вредоносную программу, которую удобно назвать cp попадает в PATH где-то перед /bin .

    Interesting Posts

    Когда я использую zip, как я могу показать общий прогресс без наводнения командной строки?

    Белкинская громоздкая док-станция с внешним монитором, не работающая на macbook pro с Fedora 24?

    Инициирование программ из командной строки

    Debian – System (аудио) Настройки, нарушающие при запуске / остановке LXC

    Upstart – переменная bashrc нагрузки

    Как установить CentOS 7 поверх Debian jessie удаленно?

    DHCP и корневая файловая система только для чтения

    использование деления в awk-скрипте

    Ли Linux копирует разрешения файлов NTFS?

    Прокси-сервер кэширования IMAP для совместного доступа

    Доля NFS на Centos 7 Не удается автоматизировать

    lftp с FTPS "Соединение TLS было неправильно завершено. Предполагая EOF. "

    В новом выводе nixos, основанном на двоичном дистрибутиве, почему я получаю ошибку, ссылаясь на nativeBuildInputs?

    Как очистить содержимое файла журнала ретрансляции в оболочке?

    / root как привязка привязки?

    Linux и Unix - лучшая ОС в мире.