2016-10-23 3 views
-1

私の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 

を置くことができますか?

+1

あなたは ''ソース「$ path_bash/_private.sh」を持っていた場合はさておき、あなたはもはやのですぐに次の文字、中括弧を必要とするだろうとして、変数名で使うことができないものになります。また、 'path_bash'が末尾にスラッシュを持たないケースに対しても堅牢です。 –

+0

ところで、Googleから与えられたリンクでは、TLDPにはたくさんのGoogleアプリがありますが、「高度な」Bashガイドには悪い習慣を紹介したり、ほとんど更新されていないという評判もあります。あなたは、[Wooledge BashGuide](http://mywiki.wooledge.org/BashGuide)または[bash-hackers wiki](http://wiki.bash-hackers.org/)またはコース(公式ドキュメント)(https://www.gnu.org/software/bash/manual/)。 –

答えて

4

変数の名前がどこで終了するかをbashに伝えるために使用されます。

そして例を説明する:

$ a="gg" 
$ echo $ab 

$ echo ${a}b 
ggb 
+0

だから、私は一般的に何かの変数の周りに置くことができますか?これはドキュメントのどこにありますか? –

+0

"shell parameter expansion" https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html – user2314737

+1

にあります。技術的には、 '$ {a}'は標準的な方法ですパラメータ拡張を実行します。パラメータ拡張演算子が使用されておらず、変数の名前が明確に決定できる場合、中括弧はオプションで(通常は)削除できます。 – chepner

関連する問題