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

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

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

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

  • Как сделать grep, даже если файл отсутствует?
  • Как запустить два потока в сценарии оболочки bash?
  • Запустите команду SSH на двух хостах, чье имя происходит из другой команды
  • Как удалить соответствующие файлы из каталога A в каталоге B в командной строке?
  • Как я могу запускать две команды параллельно и завершать их, если ОДИН из них завершается с кодом выхода 0?
  • Проблема bc о длинном выражении
  • Как читать первую и последнюю строку от выхода cat?
  • Сценарий Bash, использующий чтение, должен прекратить выполнение на Ctrl + D
  • One Solution collect form web for “Абсолютный путь в сценариях bash”

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

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

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

    Interesting Posts

    Как использовать операторы сравнения в bash?

    Можно ли поставить оператор if в операторы If так?

    Каковы потенциальные негативы включения учета процессов (пакет psacct)?

    Использование diff для отображения как содержимого новых файлов, так и создания новых пустых файлов

    printf в моем выпуске теперь

    Как восстановить временные метки файлов видеозаписей с помощью встроенных метаданных?

    Как включить обратный поиск в zsh?

    Что такое «Допустимые диски» в установке Cent 6.4

    Для перенаправления ввода существуют функциональные различия между bash / zsh <<< «$ (<файл)» и традиционным <file?

    Отслеживание, на котором дисковое пространство осталось на Linux?

    Как установить LXDE на CentOS 7 x64?

    Fedora, как автоматически запускать демон ssh – установить из источника

    Что такое bitwise.c ~?

    Могу ли я работать с Sql Server, Office и C # с помощью Linux?

    Сценарий в cron не может найти команду

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