我一直在尝试安装Nagios软件包,并在此处的指南中偶然发现了这些怪异的bash扩展。有人可以帮助我了解扩展的含义吗?Wiki链接也将为将来的参考提供帮助。
root@z:~> wget http://mathias-kettner.de/download/check_mk-1.1.7i5.tar.gz
root@z:~> tar zxvf !#:t
root@z:~> chown -R root:root !$:r:r && chmod -R o-w !$:r:r && cd !$:r:r
root@z:~/check_mk-1.1.7i5> ./setup.sh
这些是bash
历史扩展关键字。他们从外壳历史记录中选择一行,然后在修改后重新插入(部分)。您链接到的站点在解释它们方面做得很合理,但是并没有描述所有的内容。
tar zxvf !#:t
实际上没有任何意义:!#
选择到目前为止已键入的行,但是那是tar zxvf
我们不想重复使用的任何行。它应该是
tar zxvf !$:t
会选择上一行(!$
)的最后部分,这是给的URL wget
,并接受文件名部分(:t
,用于尾部-严格来说,这是最后一个目录分隔符之后的内容/
,它恰好与URL配合使用)。
然后
chown -R root:root !$:r:r
选择上一行的最后一部分,删除文件扩展名(:r
—严格来说,它将删除last之后的所有内容.
,包括.
)两次,从而得到目录名称(假设tarball包含与tarball的基本名称同名的目录)。在chmod
与cd
以同样的方式进行的命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句