我想将包含pdf文件的整个目录放在另一台带有smbclientscript的服务器上。我的剧本:
#Set variable for reports
variable=`ls | grep pdf`
smbclient -U "server\user"%pw //some/direc/tory/bla/bla << Commands
cd to/another/dir
put $variable
exit
Commands
它确实有效,但问题是它只能复制第一个是监听的文件grep pdf。 对于其他文件,shell响应file:command not found。
答案 0 :(得分:1)
在bash中
variable=`ls |grep pdf`
将获得带有STDOUT的字符串变量,而不是数组。这不是你想要的。
也许xargs
会帮助你。你可以这样做,但我认为不是一个优雅的解决方案。
ls | grep '.pdf$' |xargs -I{} smbclient -U "server\user"%pw //some/direc/tory/bla/bla -D 'to/another/dir' -c "{}"
答案 1 :(得分:0)
我得到的解决方案是我自己:
cd /directory/with/files/to/copy
#Set Variable
reports=$(ls *)
for i in $reports ; do
smbclient -U "srv\User"%pws //some/dir/bla/bla/bla << Commands
cd another/dir/etc
put $i
exit
Commands
done
谢谢!