отзовитесь эхом команда повторяют пустой вывод вместо Значения переменной в Ubuntu 18.04

можно ли помочь мне с очень странной ситуацией,

У меня есть Ubuntu 18.04 и запускающий некоторый скрипт удара, и мой сценарий похож на это.

    #!/bin/bash
    FOLDER="$1"
    FILE="$2"

BASENAME=$(/bin/basename "$FOLDER/$FILE" | /bin/sed 's/\.[^.]*$//')

HOST="FTPSERVER"
USER="username"
PASSWORD="pass"
###########################

cd /home/vod/output/
#start=$(date +%s)

ftp -n -v >> /var/log/ftptransfer_hrmxf.log 2>&1 $HOST <<END_SCRIPT
binary
user $USER $PASSWORD
prompt
cd media
put $FILE
quit
END_SCRIPT
############### FIXME!!!! #######################

echo "$BASENAME" >> /var/log/videos_done

проблема здесь, что Команда ЭХА не производит Базовое имя, и вместо этого это произвело Символ пробела.

помогите мне понять то, что я делаю неправильно?

Огромное спасибо.

0
задан 2 November 2018 в 10:14

1 ответ

Во-первых, basename расположен в /usr/bin/basename НЕ, где Вам кодировали его в Ваших сценариях. Таким образом, потому что basenameкоманда перестала работать (и Вы не проверили это в свой код), значение varialble $BASENAME наиболее вероятно NULL.

То, что я обычно делаю в любых сценариях, является местом явный ПУТЬ в начале сценария. Что-то как:

 PATH=/usr/bin:/bin:/usr/local/bin
 export PATH

Это не сразу понятно что цель sed команда.

Также попытайтесь использовать команду bash -uvx scriptname исследовать расширение и установку переменных перед командой и когда команда выполняется.

1
ответ дан 27 October 2019 в 05:54

Другие вопросы по тегам:

Похожие вопросы: