【问题标题】:What is {} used for in this context? [duplicate]在这种情况下,{} 用于什么? [复制]
【发布时间】:2017-03-05 11:51:57
【问题描述】:

它正在对我的 path_bash 变量做一些事情,但是什么?

Google 找到了this,但我找不到确切的位置。

#!/bin/bash

path_bash="$HOME/root/config/bash/"
source "${path_bash}_private.sh"
source "${path_bash}config.sh"
source "${path_bash}utility.sh"
source "${path_bash}workflow.sh"
source "${path_bash}net.sh"
source "${path_bash}makeHTM.sh"

我可以放吗

path_bash

在另一个文件中?

【问题讨论】:

  • 顺便说一句,如果你有source "$path_bash/_private.sh",那么你将不再需要花括号,因为紧接的下一个字符将是不能在变量名中使用的东西——并且您path_bash没有尾部斜杠的情况保持稳健。
  • 顺便说一句,回复:谷歌给你的链接,TLDP 有很多谷歌的汁液,但他们的“高级”Bash 指南也以展示不良做法和很少更新而闻名。你最好使用the Wooledge BashGuidethe bash-hackers wiki,当然还有the official documentation

标签: bash


【解决方案1】:

它用于告诉 bash 你的变量名在哪里结束。

并举例说明:

$ a="gg"
$ echo $ab

$ echo ${a}b
ggb

【讨论】:

  • 所以总的来说我可以把它放在任何变量周围?这在文档中的什么位置?
  • 可以在“shell参数扩展”下找到gnu.org/software/bash/manual/html_node/…
  • 从技术上讲,${a} 是执行参数扩展的规范方式。当没有使用参数扩展运算符并且可以明确确定变量的名称时,可以选择(通常是)删除大括号。
猜你喜欢
  • 2017-02-15
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-28
  • 2017-11-21
  • 1970-01-01
相关资源
最近更新 更多