加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

帮助处理变量和换行,并在bash脚本中引用

发布时间:2020-12-15 22:16:48 所属栏目:安全 来源:网络整理
导读:我想自动执行以下svn命令.注意,当从命令行发出时,此命令在我的系统上生成所需的结果 – Ubuntu 10.04,svn 1.6.6,bash shell: svn ci -m $'Added new File: newFile.txtnOrig loc: /etc/networking/newFile.txt' /home/user/svnDir/newFile.txt 我想在bash
我想自动执行以下svn命令.注意,当从命令行发出时,此命令在我的系统上生成所需的结果 – Ubuntu 10.04,svn 1.6.6,bash shell:

svn ci -m $'Added new File: newFile.txtnOrig loc: /etc/networking/newFile.txt' /home/user/svnDir/newFile.txt

我想在bash脚本中运行该命令,假设文件的原始完整路径包含在变量$oFileFull中,文件名在$oFileName中.该脚本从svn目录执行.我需要考虑文件名和/或路径包含空格的可能性.

所以我的shel脚本里面的行可能看起来像:

svn ci -m$'Added new file: ${oFileName}nOrig loc: ${oFileFull}' ${oFileName}

但我希望在执行命令之前扩展变量(可能包含空格),并且我无法弄清楚如何将svn注释括在单引号中,这是为了在subversion注释日志中获取新行所必需的.我正在试着弄清楚如何正确引用和组装这个命令.任何帮助赞赏.

解决方法

将换行符放在变量中,在需要换行符的地方使用变量,并将较大字符串周围的引号更改为双引号.您还应始终引用包含文件名的任何变量.

nl=$'n'
svn ci -m"Added new file: ${oFileName}${nl}Orig loc: ${oFileFull}" "${oFileName}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读