()与{}的差别

在shell command line中()与{}都可以将多个命令作群组化处理,但若从技术细节上,却是很不一样的:

():将command group置于sub-shell去执行,也称nested sub-shell。

{}:则是在同一个shell内完成,也称non-named command group。

注:{}与() 中的命令要用; 分隔开。只有一个时不需要用; 。

通常而言,若所作的修改是临时的,且不想影响原有或以后的设定,那就nested sub-shell。反之,则用non-named command group。


所谓function,就是用一个名字去命名一个command group,然后再调用这个名字去执行command group。

在bash中,function的定义有两种:

方式一:

function function_name {
    command1
    command2
    command3
    ....
}
方式二:

function_name() {
       command1
       command2
       command3
       ....
}

用哪一种方式无所谓,知识若碰到所定义的名称与现有的命令或别名(Alias)冲突的话,方式二或许会失败。

在shell中定义function,除了可用unset function_name取消外,一旦退出shell,function也跟着取消。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值