gpt4 book ai didi

bash - bash 脚本中的这些范围更改在做什么?

转载 作者:行者123 更新时间:2023-12-04 14:39:09 27 4
gpt4 key购买 nike

如果你有这样的事情:

#!/bin/bash
(
x=foo
{ echo $x }
)
括号和大括号的意义是什么?这些结构称为什么?他们有什么属性?它们用于什么等?

最佳答案

用圆括号括起来的命令 (...)在子shell中运行。它们从父 shell 继承环境,但它们所做的任何更改都不会传播回父 shell。{ echo $x }错了,少了一个;收盘前} .命令在 { ... } 中运行在当前 shell 的上下文中运行,它通常在您需要重定向多个命令的输出时使用,例如

{
echo 1
echo 2
} > log
注意最后的 ;如果它的位置有换行符,则不需要。

关于bash - bash 脚本中的这些范围更改在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69045955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com