Maison  >  Article  >  Opération et maintenance  >  substitution de commande Linux-Shell et substitution de variable

substitution de commande Linux-Shell et substitution de variable

步履不停
步履不停original
2019-06-18 16:56:514302parcourir

substitution de commande Linux-Shell et substitution de variable

Substitution de commande $() ``

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

Il existe deux façons d'effectuer la substitution de commande dans Shell, l'une est un backtick , l'autre est $ () , la méthode d'utilisation est la suivante :

variable=`commands`
variable=$(commands)

où variable est le nom de la variable et commands est la commande à exécuter. les commandes ne peuvent avoir qu'une seule commande ou plusieurs commandes, séparées par des points-virgules ;

a=`expr 1 + 1`
echo $a

$() et ``La différence entre

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

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

Substitution de variable ${}

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

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

形式    说明
${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 的值。

Pour plus d'informations techniques liées à Linux articles, veuillez visiter la colonne Tutoriel Linux pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn