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

bash – 如何在一行上定义一个函数

发布时间:2020-12-15 22:28:24 所属栏目:安全 来源:网络整理
导读:通常在移动文件时,我需要稍后相反.所以在我的.bashrc中我包含了这个工作代码: rmv() { mv $2/${1##*/} ${1%/*}} 现在我想知道为什么我不能把它写成一个单一的班轮.这是我试过的: rmv() {mv $2/${1##*/} ${1%/*}} 如果我这样做,我会收到此错误: -bash: .ba
通常在移动文件时,我需要稍后相反.所以在我的.bashrc中我包含了这个工作代码:

rmv() {
  mv $2/${1##*/} ${1%/*}
}

现在我想知道为什么我不能把它写成一个单一的班轮.这是我试过的:

rmv() {mv $2/${1##*/} ${1%/*}}

如果我这样做,我会收到此错误:

-bash: .bashrc: line 1: syntax error near unexpected token `{mv'

解决方法

在Bash中,{不会被自动识别为与其周围的特殊/单独的标记.所以你需要{和mv之间的空格.

另外:

>}需要成为命令的开始;所以,如果它不是自己的,你需要;终止上一个命令.
>最好在任何参数扩展周围使用双引号,否则当参数包含空格或特殊字符时,您将获得奇怪的行为.

所以:

rmv() { mv "$2/${1##*/}" "${1%/*}" ; }

(编辑:李大同)

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

    推荐文章
      热点阅读