上面的引用都是对变量本身的引用,如果将其放入字符串中,将形成对整个字符串的引用。$变量名 放入不同引号包含的字符串中,其含义并不一样。
如果将一个字符串使用单引号引用,字符串的所有字符(包括空格,$等)都被解释为字符本身,我们称之为全引用。
bash复制代码echo 'Hello, World!'
这个命令输出 "Hello, World!",在这个例子中,字符串中的逗号和空格被视为普通字符,而不是分隔符。
如果将一个字符串使用双引号引用,其中所包含的字符除美元符号($)、反引号(`),以及反斜线(\)之外的所有其他的字符,都将被解释为字面意义,这称为部分引用。也就是说,在部分引用中,这三种字符仍然拥有特殊的涵义。例如,$符号仍然可以用来引用变量的值。
bash复制代码name="Tom"
echo "My name is $name."
这个命令输出 "My name is Tom.",在这个例子中,$name 被解析为变量 name 的值 "Tom"。
命令替换
命令替换是一种将命令的输出作为参数传递给另一个命令或变量的方法。命令替换有两种形式:反引号和 $()。反引号(`)或$() 用于将命令的输出作为参数传递给另一个命令或变量,其语法为:
bash复制代码command `subcommand`
command $(subcommand)
在这个语法中,subcommand 是一个要执行的命令,并将其输出作为参数传递给 command。
bash复制代码echo "Today is `date`."
echo "Today is $(date)."
命令输出 :
csharp复制代码Today is Thu Apr 6 07:16:46 PDT 2023.
Today is Thu Apr 6 07:16:46 PDT 2023.
在上述例子中,date 命令的输出被传递给 echo 命令,并作为字符串 "Today is Thu Apr 6 07:16:46 PDT 2023." 的一部分输出。
链接:https://juejin.cn/post/7218947399196164152
|