自学内容网 自学内容网

在linux中,$()是用来做命令替换的,其等价于``(反引号)。但是在shell脚本,我们一般使用$(),以增加脚本的可读性

$()
在linux中,$()是用来做命令替换的,其等价于``(反引号)。但是在shell脚本,我们一般使用$(),以增加脚本的可读性

[root@rhel77 ~]# echo $(date +%Y%m%d)
20230706
[root@rhel77 ~]# echo `date +%Y%m%d`
20230706
[root@rhel77 ~]# 
例外:

1.``(反引号)不能多次嵌套使用,否则会有异常问题

E.g:

[root@rhel77 ~]# echo ztj `echo test ` echo date is `date +%Y%m%d```
ztj test echo date is 20230706      ---echo date异常输出
[root@rhel77 ~]# 
2.$()可以多次嵌套使用,而不会有问题

[root@rhel77 ~]# echo ztj $(echo test $( echo date is $(date +%Y%m%d)))
ztj test date is 20230706             ---echo date正常输出
[root@rhel77 ~]# 
3.``(反引号)和$()虽然可以混合使用,但是可读性较差,不建议使用

[root@rhel77 ~]# echo ztj `echo test $( echo date is $(date +%Y%m%d))`
ztj test date is 20230706
[root@rhel77 ~]# 

chown $(id -u):$(id -g) $HOME/.kube/config

 

这条命令的作用是将$HOME/.kube/config文件的拥有者和群组更改为当前用户的UID(用户标识符)和GID(组标识符)。

让我们分解一下这个命令:

  • chown 是一个Linux命令,用于改变文件或目录的拥有者和群组。
  • $(id -u) 是一个命令替换,它会执行id -u命令并返回当前用户的UID(用户标识符)。id -u命令用于显示当前用户的数字用户ID。
  • $(id -g) 也是一个命令替换,它会执行id -g命令并返回当前用户主要组的GID(组标识符)。id -g命令用于显示当前用户所属的主要组的数字组ID。
  • : 在这里用作分隔符,分隔UID和GID。
  • $HOME/.kube/config 是要更改拥有者和群组的文件的路径。$HOME是一个环境变量,通常指向当前用户的主目录。/.kube/config是Kubernetes配置文件的标准位置,该文件存储了用于访问Kubernetes集群的认证信息。

因此,整个命令的意思是:“将当前用户的主目录下.kube/config文件的拥有者和群组更改为当前用户的UID和GID”。


原文地址:https://blog.csdn.net/yiyidumeng/article/details/142779209

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!