2017-08-14 45 views
1

我很新來砸,Bash - 這叫做定義嗎?

我學習瞭如何使用變量是這樣的:

var=$(cat << EOF 
this is echoed 
and this as well... 
EOF 
) 

echo "$var" 

如果上面的代碼使用variable你怎麼叫下面的方法叫什麼?這叫做使用definition

def="This should be echoed\nand this as well...\n" 

printf "$def" 

我在問第二種方法的正確術語。

+0

我不明白你的問題是什麼? – Jdamian

+0

在var的評估中,你有什麼通常被稱爲heredoc,是這個問題嗎? – dood

+0

@Jdamian,抱歉沒有說清楚,我更新了這個問題。 – nath

回答

1

vardef都是變量;也就是說,它們是您當前環境中的字符串數據的名稱,可以使用$來訪問,如您的示例中所示。

若要創建每個變量,您分配給一個字符串。這被稱爲分配。在句法上,=賦值運算符

一旦分配了vardef,他們如何存儲數據沒有區別;在每種情況下存儲的數據僅僅是一個字符串。

def的分配中沒有什麼「特殊」要求額外的術語。然而,也有var分配的兩個有趣的方面:​​

  • 作爲評論提到,你的cat使用是一個叫做"here document"模式。
  • 要創建和捕獲「文檔」(它只是一個字符串),您正在使用$(),這是一種形式"command substitution"