using smbclient in bash script

lux11 linuxone11 at
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

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"'

#EXAMPLE 1 - this DOES work
smbclient -A authfile //windows_machine_IP/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$ <$> -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 ?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the smb-clients mailing list