using smbclient in bash script

lux11 linuxone11 at gmail.com
Tue Jan 1 18:05:27 MST 2013


I have googled this subject extensively and found several examples where
authors have advised that using variables is possible in a smbclient
command string (using -c) and this MAY work from terminal but not within a
bash script.

Here is what I am trying to do: retrieve a log file from a windows machine
on my LAN and copy the contents to a file on my linux box called
"abclog.txt".

Here is my bash script with an example of what DOES work and what does not.

---
#! /bin/bash
DATE=$(date +"%Y%m%d")
FILENAME='"ABC logname '$DATE'.log"'
DIRECTORY='ABC\"ABC Logs"\Logs'

#EXAMPLE 1 - this DOES work
smbclient -A authfile //windows_machine_IP/C
<http://192.168.4.9/C$>$<http://192.168.4.9/C$> -c
'cd \\ABC\"ABC Logs"\Logs; get "ABC Logs 20121231.log" abclog.txt'

#EXAMPLE 2 - this does NOT work
smbclient -A authfile //windows_machine_IP/C$ <http://192.168.4.9/C$> -c
'cd \$DIRECTORY; get $FILENAME abclog.txt'
---

The problem in example 2 is that smbclient simply looks for something
called $DIRECTORY instead of interpreting the variable as defined. Is there
a way to overcome this or perhaps a suggestion for a different approach ?

Thanks,
Lux
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.samba.org/pipermail/smb-clients/attachments/20130101/9d2aea0c/attachment.html>


More information about the smb-clients mailing list