首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置和Shopt -为什么是两个人?

设置和Shopt -为什么是两个人?
EN

Unix & Linux用户
提问于 2012-02-22 16:17:42
回答 4查看 26.6K关注 0票数 106

setshopt都是控制各种选项的shell内置程序。我经常忘记哪个选项是由哪个命令设置的,以及哪个选项集/取消集(set -o/+oshopt -s/-u)。为什么有两个不同的命令看起来做同样的事情(并且有不同的参数来这么做)?有什么简单的方法/助记符来记住哪个选项与哪个命令匹配吗?

EN

回答 4

Unix & Linux用户

回答已采纳

发布于 2012-02-23 02:06:42

据我所知,set -o选项是从其他Bourne风格的shell(主要是ksh)继承的,而shopt选项是特定于bash的选项。据我所知没有逻辑可言。

票数 61
EN

Unix & Linux用户

发布于 2014-03-06 09:47:44

  • set是POSIX 7:设置或取消设置选项和位置参数
  • shopt不是:pubs.opengroup.org \外壳和实用程序:详细的

可能和@吉尔斯提到的历史有联系。

票数 26
EN

Unix & Linux用户

发布于 2018-02-21 10:31:16

来自"Linux Shell脚本与Bash“一书,第63页:

历史上,set命令用于打开和关闭选项。随着选项数量的增加,set变得更加难以使用,因为选项是由单个字母代码表示的。因此,Bash提供了shopt (shell选项)命令,通过名称来打开和关闭选项,而不是字母。您只能通过信函设置某些选项。其他的只能在shopt命令下使用。这使得查找和设置特定选项成为一项令人困惑的任务。

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/32409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档