Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Linux-Shell-Befehlssubstitution und Variablensubstitution

Linux-Shell-Befehlssubstitution und Variablensubstitution

步履不停
步履不停Original
2019-06-18 16:56:514303Durchsuche

Linux-Shell-Befehlssubstitution und Variablensubstitution

Befehlsersetzung $() ``

Shell 命令替换是指将命令的输出结果赋值给某个变量

Es gibt zwei Möglichkeiten, die Befehlsersetzung in Shell abzuschließen, eine ist Backtick , die andere ist $() , die Verwendungsmethode ist wie folgt:

variable=`commands`
variable=$(commands)

wobei Variable der Variablenname und Befehle der auszuführende Befehl ist. Befehle können nur einen Befehl oder mehrere Befehle enthalten, die durch Semikolons getrennt sind.

a=`expr 1 + 1`
echo $a

$() und „Der Unterschied zwischen

在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下:

1.``很容易''搞混乱,尤其对初学者来说。
2.在多层次的复合替换中,``必须要额外的转义字符处理(反斜线),而$( )比较直观。
3.$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。

Variablensubstitution ${}

变量替换
变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值

可以使用的变量替换形式:

形式    说明
${var}    变量本来的值
${var:-word}    如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 的值。
${var:=word}    如果变量 var 为空或已被删除(unset),那么返回 word,并将 var 的值设置为 word。
${var:?message}    如果变量 var 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 var 是否可以被正常赋值。
若此替换出现在Shell脚本中,那么脚本将停止运行。
${var:+word}    如果变量 var 被定义,那么返回 word,但不改变 var 的值。

Für weitere technische Informationen zu Linux Artikel, besuchen Sie bitte die Spalte Linux-Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonLinux-Shell-Befehlssubstitution und Variablensubstitution. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn