команда date не найдена в сценарии оболочки - PullRequest
0 голосов
/ 15 октября 2019

мой сценарий оболочки backup.sh как показано ниже, когда я выполняю этот сценарий, я получаю ошибку "date: command not found"Я проверил, что между = и параметрами нет пробела. Может ли кто-нибудь дать объяснение об этой ошибке. Спасибо.

x00004:/home/ # cat backup.sh 
#!/bin/sh
set +x

source ./conf.sh

if [ $# != 2 ] ; then
    echo " Usage: $0 [sftp user] [sftp pwd]"
    exit 1;
fi

DATE=`date +%y-%m-%d--%H:%M:%S`
echo "${DATE}"
file=test.tar.gz
echo "Starting to backup files..."

#to backup files to sftp server

x00004:/home/ # ./backup.sh usr pwd
./backup.sh: line 11: date: command not found

Starting to backup files...
x00004:/home/poc/src # 

1 Ответ

0 голосов
/ 19 октября 2019

Оболочки не могут найти команды, если команды не находятся в каталогах в $PATH. Быстрое исправление: замените date на /bin/date. Однако подобная проблема может возникнуть в conf.sh или backup.sh, поэтому более глобальным решением является отображение «$ PATH» в начале вашего скрипта, выяснение того, что отсутствует, и исправление, например, PATH=/bin:$PATH.

...