我编写了一个Shell脚本,该脚本移动到存在一些二进制文件的目录中。
我要做的是传输此目录中的所有文件。
cd /home/user/binaries
smbclient //ip.address/directory$ password -W domain -U username << ENDOFMYSMBCOMMANDS
prompt
put *
exit
ENDOFMYSMBCOMMANDS
我尝试使用put *
来传输所有文件 - 但这不被接受。
我所知道的唯一其他选项是去一个文件夹,并使用命令mput binaries
- 但这会复制包括文件夹在内的所有内容。
如何修改脚本以仅传输目录的内容?
答案 0 :(得分:1)
我一直都有答案!我的印象是mput
只能用于传输目录,结果是在目录中使用mput *
会复制该目录中的所有文件!
cd /home/user/binaries
smbclient //ip.address/directory$ password -W domain -U username << ENDOFMYSMBCOMMANDS
prompt
put *
exit
ENDOFMYSMBCOMMANDS
对于那些像我这样难以接受的人,请留下这个!
答案 1 :(得分:0)
我要将Dustin的自我答案格式化为真正的单行。也可以添加前置的&#34; cd&#34;命令进入smbclient命令,如下:
smbclient //ip.address/directory -W domain -U username \
-c 'prompt OFF; recurse ON; cd remote/target/directory; lcd /local/source/directory; mput *'