>운영 및 유지보수 >리눅스 운영 및 유지 관리 >linux-shell-command 대체 및 변수 대체

linux-shell-command 대체 및 변수 대체

步履不停
步履不停원래의
2019-06-18 16:56:514352검색

linux-shell-command 대체 및 변수 대체

명령어 대체 $() ``

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

셸에서 명령 대체를 완료하는 방법에는 두 가지가 있는데, 하나는 백틱 이고 다른 하나는 $()입니다. 그 중

variable=`commands`
variable=$(commands)

. , Variable은 변수 이름이고 Commands는 실행할 명령입니다. 명령은 세미콜론으로 구분되어 단 하나의 명령 또는 여러 명령을 가질 수 있습니다.

a=`expr 1 + 1`
echo $a

$( )와 ``

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

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

변수 대체 ${}

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

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

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

의 차이점 Linux 관련 기술 기사를 더 보려면 Linux Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 linux-shell-command 대체 및 변수 대체의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.