linux-shell-コマンド置換と変数置換

步履不停
リリース: 2019-06-18 16:56:51
オリジナル
4319 人が閲覧しました

linux-shell-コマンド置換と変数置換

コマンド置換$() ``

Shell 命令替换是指将命令的输出结果赋值给某个变量
ログイン後にコピー

シェルでコマンド置換を完了するには 2 つの方法があります。1 つはバッククォート で、もう 1 つはバッククォート

です。 1 つ目は $() で、使用方法は次のとおりです。

variable=`commands`
variable=$(commands)
ログイン後にコピー

ここで、variable は変数名、commands は実行するコマンドです。コマンドには、1 つのコマンドだけを含めることも、セミコロンで区切って複数のコマンドを含めることもできます。

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 チュートリアル 列にアクセスして学習してください。

######

以上がlinux-shell-コマンド置換と変数置換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート