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

當我執行腳本時,我只得到“Domain=[SEGCAT] OS=[Windows 8.1 Pro 9600] Server=[Windows 8.1 Pro 6.3]”並且檔案不會被複製。

如果我回顯 $smbclient 行,然後直接複製並貼上它,它會完美地複製檔案。我不知道發生了什麼,這對我來說沒有意義。

編輯:修復方法是將 $SMBCLIENT 行替換為: $SMBCLIENT //192.168.3.57/publica -A $BACKUP/.smbclient -c "p​​rompt; recurse; mput $FILE; exit;"

相關內容