首页 理论教育 使用shopt命令设置shell

使用shopt命令设置shell

时间:2023-11-18 理论教育 版权反馈
【摘要】:shopt命令是set命令的扩展和补充,使用选项-p来查看命令shopt选项的设置。表10-3 命令shopt的选项命令shopt-s<选项名>用来打开选项;命令shopt-u<选项名>用于关闭选项。先讲解nocaseglob的作用。命令ls *默认不显示隐藏文件和隐藏目录,把选项dotglob打开后,再执行ls*就可以查看到隐藏文件和隐藏目录了。现在,关闭选项expand_aliases,然后运行ll时,因为别名不能被展开,所以遇到命令未找到的提示:

使用shopt命令设置shell

shopt命令是set命令的扩展和补充,使用选项-p来查看命令shopt选项的设置。

978-7-111-48202-4-Chapter10-58.jpg

978-7-111-48202-4-Chapter10-59.jpg

上面命令的输出当中,-s表示该选项是打开的(set),-u表示该选项是关闭的(unset)。shopt命令可以控制的主要选项见表10-3。

表10-3 命令shopt的选项

978-7-111-48202-4-Chapter10-60.jpg

命令shopt-s<选项名>用来打开选项;命令shopt-u<选项名>用于关闭选项。表10-3中的选项较多,下面只选择几个讲解。表格中的extglob,在8.2.4节已经讲过。

先讲解nocaseglob的作用。在Linux下查看某个目录中文件时,文件名默认是区分字母大小写的,如:

978-7-111-48202-4-Chapter10-61.jpg(www.xing528.com)

打开选项nocaseglob之后,就不区分字母大小写了:

978-7-111-48202-4-Chapter10-62.jpg

再看看dotglob。命令ls *默认不显示隐藏文件和隐藏目录,把选项dotglob打开后,再执行ls*就可以查看到隐藏文件和隐藏目录(名字以点开头的文件和目录)了。

最后讲讲expand_aliases。该选项在交互shell里默认是打开的,如果关闭它,已经定义的别名和之后定义的别名都不能被展开了(也可以这样说:如果关闭它,仍能继续定义别名,但所有的别名都不能被使用了)。例如,别名ll的定义如下:

978-7-111-48202-4-Chapter10-63.jpg

运行ll时,ll默认可以被展开为命令ls-alF并执行。现在,关闭选项expand_aliases,然后运行ll时,因为别名不能被展开,所以遇到命令未找到的提示:

978-7-111-48202-4-Chapter10-64.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈