1

У меня есть следующий скрипт:

#!/bin/sh
BACKUP=/respaldoBD
NOW=$(date +"%d_%m_%Y")
SMBCLIENT="$(which smbclient)"
DBS="zabbix"
for db in $DBS
do
  FILE="mysql_$db.$NOW.gz"
  echo $FILE
  PARM="prompt; recurse; mput $FILE; exit;"
  for f in $FILE
  do
    $SMBCLIENT //192.168.3.57/publica -A $BACKUP/.smbclient -c "\""$PARM"\$
  done
done

Когда я выполняю скрипт, я получаю только «Домен = [SEGCAT] OS = [Windows 8.1 Pro 9600] Сервер = [Windows 8.1 Pro 6.3]», и файл не копируется.

Если я повторю строку $ smbclient, скопирую и вставлю ее напрямую, он отлично скопирует файл. Я не знаю, что происходит, это не имеет смысла для меня.

РЕДАКТИРОВАТЬ: исправление состояло в том, чтобы заменить строку $ SMBCLIENT на: $ SMBCLIENT //192.168.3.57/publica -A $ BACKUP /.smbclient -c "приглашение; recurse; mput $ FILE; выход;"

0