在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)!