>  기사  >  운영 및 유지보수  >  Bash에서 ${}와 $()의 차이점은 무엇입니까

Bash에서 ${}와 $()의 차이점은 무엇입니까

Linux中文社区
Linux中文社区앞으로
2023-08-02 15:30:441558검색

Linux와 같은 GNU 기반 운영 체제는 명령 언어 해석기 또는 Bash라는 셸을 사용하여 대부분의 컴퓨팅 작업과 목표를 달성합니다.

Bash에서 ${}와 $()의 차이점은 무엇입니까

Bash는 Bourne Again Shell의 약어입니다. Bunne Again Shell은 Bourne Shell(즉, Steven Bourne이 발명한 것)에 경의를 표하는 말장난 이름입니다. 호환성 측면에서 Bash와 sh는 완벽하게 일치합니다. C 쉘( csh ) 및 Korn 쉘( ksh )에서 볼 수 있는 유용한 기능도 이 쉘 언어 해석기에 포함되어 있습니다.

구현 측면에서 Bash는 IEEE POSIX 사양(IEEE Standard 1003.1) 도구 부분과 IEEE POSIX Shell을 준수하는 것을 목표로 합니다. 따라서 대화형 프로그래밍 도구인 Bash는 sh에 비해 기능적 개선을 제공합니다.

Linux 및 기타 GNU 기반 운영 체제 사용자는 기본 명령 언어 해석기로 Bash에만 의존할 필요가 없습니다. csh와 같은 셸 버전도 이러한 시스템에 사전 패키지되어 있기 때문입니다. 이식성과 같은 고유한 셸 속성으로 인해 Bash는 기본 Linux 셸로만 사용되도록 구성됩니다.

Bash에서 $()와 ${} 비교

Bash 환경과 관련된 이 두 속성을 비교하려면 $()to$(command)${}~${매개변수}. 따라서 우리는 이 두 개의 Bash 엔터티를 정의해 볼 수 있습니다. $()to$(command)${}to ${parameter}。因此,我们可以尝试定义这两个 Bash 实体。

理解 $(命令)

$(command)在Bash中涉及命令替换。更具体地说,命令部分in$(command)被执行,其输出被捕获并打印在标准输出上。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

背后的语法$(command)

🎜$(명령) 이해🎜🎜🎜$(command)Bash의 명령 대체와 관련됩니다. 보다 구체적으로 명령 섹션in$(command)가 실행되고 해당 출력이 캡처되어 표준 출력에 인쇄됩니다. 🎜
echo "今天是 $(date). LinuxMi.com 又是美好的一天。"
🎜$(command)는 토큰 수준입니다. 터미널에 현재 날짜를 인쇄하도록 설계된 다음 명령을 실행해 보세요. 🎜
echo "今天是 $(date). LinuxMi.com 又是美好的一天。"

Bash에서 ${}와 $()의 차이점은 무엇입니까

在 Linux 中打印日期

上述执行可以用以下方式解释。首先,执行 date 命令并将其输出作为参数包含在 echo 命令中。

在这里,我们可以假设命令替换在重新包含在主 shell 之前在单独的子 shell 中执行。

了解 ${parameter}

${parameter}在Bash中涉及参数替换。根据 Bash 手册页,参数是一个值存储实体。参数实体可以与名称、数字或特殊字符相关联。

大括号{}暗示我们在处理位置参数,或者在使用的参数(参数值)后面是一个与参数名称不相关的非解释性字符,例如${animal}s

至于位置参数,可以用一个或多个数字来表示(单个数字 0 除外)。因此,如果我们有一个名为$variable_name的变量,则可以使用参数 替换${parameter}来检索关联的变量值。

考虑以下变量声明命令:

$ animal=lion

让我们调用 animal 变量以尝试将变量值复数:

$ echo $animals

Bash에서 ${}와 $()의 차이점은 무엇입니까

在命令中声明变量

在标准输出中不会打印任何内容,因为 Bash 不理解变量$animals。但是,我们可以通过如下方式使用参数替换方法成功调用我们的$animals变量:

$ echo ${animal}s

Bash에서 ${}와 $()의 차이점은 무엇입니까

在命令中调用变量

在某些情况下,感叹号可能会在参数替换实现的第一个左大括号之后出现。在这种情况下,就会出现变量间接的概念。另外,搜索公众号Linux就该这样学后台回复“猴子”,获取一份惊喜礼包。

变量值优先于参数值,如下所示:

$ animal=lion 
$ echo $animal
$ lion=rafiki
$ echo $lion
$ echo ${!animal}

Bash에서 ${}와 $()의 차이점은 무엇입니까

参数值的优先级

希望本文能够说明 Bash 中$()${}之间的区别。

위 내용은 Bash에서 ${}와 $()의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 Linux中文社区에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제