首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有单引号的smbclient复制文件

带有单引号的smbclient复制文件
EN

Stack Overflow用户
提问于 2017-01-27 11:06:48
回答 1查看 1K关注 0票数 0

如何在smbclient "put“命令中使用单引号?

例如:

代码语言:javascript
复制
smbclient -c 'put "/mydir/video.avi" "\Music\Guns N' Roses\video.avi"'

在“枪N‘玫瑰”中会产生一个错误,但我不能使用“枪N’玫瑰”,因为它会改变路径。

EN

回答 1

Stack Overflow用户

发布于 2017-01-27 11:16:57

您的shell不允许在单引号中使用转义单引号。阅读man bash中题为“引用”的部分(假设您的shell是bash)。

您需要在单引号字符串之外转义内部单引号:

代码语言:javascript
复制
smbclient -c 'put "/mydir/video.avi" "\Music\Guns N'\'' Roses\video.avi"'

或者,如果你喜欢:

代码语言:javascript
复制
smbclient -c 'put "/mydir/video.avi" "\Music\Guns N'"'"' Roses\video.avi"'

或者,您也可以将内容放入变量中,使用格式化等。显然,我还没有在您的环境中测试过这一点,但以下几点对我来说似乎是合理的:

代码语言:javascript
复制
$ source="/mydir/video.avi"
$ target="\Music\Guns N' Roses\video.avi"
$ cmd='put "$s" "$s"'
$ smbclient -c "$(printf "$cmd" "$source" "$target")"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41892521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档