У мене є такий сценарій:
#!/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] Server = [Windows 8.1 Pro 6.3]", і файл не копіюється.
Якщо я повторюю рядок $ smbclient, і копіювати і вставляти його безпосередньо, він відмінно копіює файл. Я не знаю, що відбувається, це не має сенсу для мене.
EDIT: виправлення було замінено на рядок $ SMBCLIENT на: $ SMBCLIENT //192.168.3.57/publica -A $ BACKUP / .smbclient -c "підказка; recurse; mput $ FILE; exit;"