smbclient 无法在 bash 脚本中复制文件

smbclient 无法在 bash 脚本中复制文件

我有以下脚本:

#!/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 "p​​rompt; recurse; mput $FILE; exit;"

相关内容