Bash内建命令-shopt

Linux中shopt命令报错分析与解决方案 在Linux系统管理中,shell环境配置是基础而关键的技术环节。bash作为最常用的shell解释器,其内置命令shopt用于控制shell的可选行为,如模式匹配、命令补全等核心功能。当系统提示'command not found: shopt'时,通常意味着当前shell环境并非bash或初始化流程异常。这种情况常见于多shell切换、配置错误或环境变量冲突等场景。理解shell初始化顺序(/etc/profile → ~/.bashrc等)和不同shell的特性差异(bash/zsh/fish)是解决 阅读详情

1.shopt 命令简介

2.shopt 参数含义说明

3.shopt 使用示例

1)extglob 参数

shopt 命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。

shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。

 

1.shopt 命令简介

shopt [-psu] [optname …]

-s 开启某个选项.

-u 关闭某个选项.

-p 列出所有可设置的选项.


执行shopt 看看都有那些选项 与 系统的默认值
 

[root@master four]# shopt
autocd         	off
cdable_vars    	off
cdspell        	off
checkhash      	off
checkjobs      	off
checkwinsize   	on
cmdhist        	on
compat31       	off
compat32       	off
compat40       	off
dirspell       	off
dotglob        	off
execfail       	off
expand_aliases 	on
extdebug       	off
extglob        	on
extquote       	on
failglob       	off
force_fignore  	on
globstar       	off
gnu_errfmt     	off
histappend     	off
histreedit     	off
histverify     	off
hostcomplete   	on
huponexit      	off
interactive_comments	on
lithist        	off
login_shell    	on
mailwarn       	off
no_empty_cmd_completion	off
nocaseglob     	off
nocasematch    	off
nullglob       	off
progcomp       	on
promptvars     	on
restricted_shell	off
shift_verbose  	off
sourcepath     	on
xpg_echo       	off

2.shopt 参数含义说明

上面展示了 shopt 所有的参数。这一大堆参数估计大家看名字难以猜测含义,下面给出这些参数的含义。

cdable_vars :    

如果给cd内置命令的参数不是一个目录,就假设它是一个变量名,变量的值是将要转换到的目录

cdspell  :

纠正cd命令中目录名的较小拼写错误.检查的错误包括颠倒顺序的字符,遗漏的字符以及重复的字符.如果找到一处需修改之处,正确的路径将打印出,命令将继续.只用于交互式shell

checkhash  :    

bash在试图执行一个命令前,先在哈希表中寻找,以确定命令是否存在.如果命令不存在,就执行正常的路径搜索

checkwinsize  :

bash在每个命令后检查窗口大小,如果有必要,就更新LINES和COLUMNS的值

cmdhist  :    

bash试图将一个多行命令的所有行保存在同一个历史项中.这是的多行命令的重新编辑更方便

dotglob  :

Bash在文件名扩展的结果中包括以点(.)开头的文件名

execfail :

如果一个非交互式shell不能执行指定给exec内置命令作为参数的文件,它不会退出.如果exec失败,一个交互式shell不会退出

expand_aliases :

别名被扩展.缺省为打开

extglob    :

打开扩展的模式匹配特性(正常的表达式元字符来自Korn shell的文件名扩展)

histappend :

如果readline正被使用,用户有机会重新编辑一个失败的历史替换

histverify :

如果设置,且readline正被使用,历史替换的结果不会立即传递给shell解释器.而是将结果行装入readline编辑缓冲区中,允许进一步修改

hostcomplete    :

如果设置,且readline正被使用,当正在完成一个包含@的词时bash将试图执行主机名补全.缺省为打开

huponexit   :

如果设置,当一个交互式登录shell退出时,bash将发送一个SIGHUP(挂起信号)给所有的作业

interactive_comments  :

在一个交互式shell中.允许以#开头的词以及同一行中其他的字符被忽略.缺省为打开

lithist        :

如果打开,且cmdhist选项也打开,多行命令讲用嵌入的换行符保存到历史中,而无需在可能的地方用分号来分隔

mailwarn     :

如果设置,且bash用来检查邮件的文件自从上次检查后已经被访问,将显示消息”The mail in mailfile has been read”

nocaseglob   :

如果设置,当执行文件名扩展时,bash在不区分大小写的方式下匹配文件名

nullglob:

如果设置,bash允许没有匹配任何文件的文件名模式扩展成一个空串,而不是他们本身

promptvars :

如果设置,提示串在被扩展后再进行变量和参量扩展.缺省为打开

restricted_shell  :

如果shell在受限模式下启动就设置这个选项.该值不能被改变.当执行启动文件时不能复位该选项,允许启动文件发现shell是否受限

shift_verbose  :

如果该选项设置,当移动计数超出位置参量个数时,shift内置命令将打印一个错误消息

sourcepath  :

如果设置,source内置命令使用PATH的值来寻找作为参数提供的文件的目录.缺省为打开

source  :

点(.)的同义词  

3.shopt 使用示例

博主对 shopt 中的参数使用的并不太多,

extglob 参数 :

主要使用的参数是  extglob

如果开启 extglob 选项, shell 将启用模式匹配. 可参考 ■ Shell 模式匹配

查看 extglob 选项是否开启(默认是off)
 

[root@master load_data]# shopt extglob
extglob        	off

开启 extglob 选项 

此时查看 extglob 选项是否开启

[root@master four]# shopt -s extglob
[root@master four]# shopt extglob
extglob        	on

 关闭 extglob 选项

[root@master four]# shopt -u extglob
[root@master four]# shopt extglob
extglob        	off

 =========================

实例

1.将目录下所有的文件和目录移动到 backup 目录中.


当前目录下3个文件以及两个目录
$ ls
dir1  dir2  file1  file2  file3

新建一个 backup 目录
$ mkdir -p backup

将除了 backup 目录的其他文件和目录移动到 backup 目录下
$ mv !(backup) backup/


查看结果

$ ls
backup
$ ls backup/
dir1  dir2  file1  file2  file3

2.删除当前目录下所有file开头的文件或目录


$ ls
backup  dir1  dir2  file1  file2  file3
$ rm -rf file[1-3]
$ ls
backup  dir1  dir2


3.移动除了 dir1 目录以及 file1 文件到 backup 目录下

$ mv !(dir1|file1|backup) backup/
$ ls
backup  dir1  file1
$ ls backup/
dir2  file2  file3

其他的需求还需要结合 shell 模式匹配进行举一反三.
 

原文:https://blog.youkuaiyun.com/u010003835/article/details/80760946

 

 

 

劳特巴赫 Trace32 调试使用教程 详细介绍如何使用trace32进行调试 阅读详情

相关推荐

Python量化交易入门:天勤量化TqSdk保姆级教程(含避坑指南)

本文提供Python量化交易入门指南,重点介绍天勤量化TqSdk的使用方法,包括环境配置、核心API实战、策略开发技巧及实盘部署。教程涵盖中国期货市场,帮助个人投资者快速掌握量化交易技术,避开常见陷阱。

weixin_29065791的博客 832

linux系统命令shopt

今天碰到一个需求,删除当前目录下除指定名称之外所有的文件 当时想到了这种写法:rm -f !(a) 没想到回报错了,查了查百度找到了解决方法,利用shopt命令增强shell易用性,分享一波用法 shopt命令是set命令的一种替代,很多方面都和set命令一样,但它增加了很多选项。可以使用 “-p”选项来查看shopt选项的设置(选项较多自行查看)    “-u”表示关闭一个选项 ...

背锅浩的博客 2938

量化交易新手入门:从零开始搭建你的第一个Python交易策略(附完整代码)

本文为量化交易新手提供从零开始搭建Python双均线策略的完整指南,涵盖环境配置、数据获取、策略实现及风险管理等关键步骤。通过详细的代码示例和实践建议,帮助读者快速掌握量化交易的核心技术,并避免常见陷阱。文章特别强调Python在量化交易中的技术革新优势,适合希望进入金融科技领域的初学者。

weixin_26905487的博客 443

bash选项设置(shopt命令)

shopt命令是set命令的一种替代 -p”选项来查看shopt选项的设置。“-u”开关表示一个复位的选项,“-s”表示选项当前被设置。 shopt命令选项 [root@localhost ~]# shopt -p #查看当前设置情况 shopt -u cdable_vars shopt -u cdspell shopt -u checkhash shopt -s checkwinsiz...

vswjm的专栏 769

3D Gaussian Splatting:用于实时的辐射场渲染

3D Gaussian Splatting:用于实时的辐射场渲染 3d gaussian splatting for real-time radiance field rendering

m0_51976564的博客 1万+

Paypal开发者中心获取“ClientId”和“ClientSecret”参数

正式环境设置 1、登录到 paypal开发者中心 网址:https://developer.paypal.com/developer/ 点击右上角登录按钮登录 2、左侧栏 - 我的应用程序和凭证 - 点击“创建新应用” 新注册的paypal账号,需要进行邮箱验证,验证通过后,需要等待一段时间(或重新登录),才会出现相关设置项位置 验证邮箱通过后,点击创建新应用 3、按提示填写,保存创建应用 4、点击刚创建的应用进入应用详情页 5、应用详情页获得网站开发人员所需要的“ClientId”和“Client

龚清林的博客 1万+

linux内建命令/内部命令之shopt

linux内建命令/内部命令之shopt

z19861216的博客 1080

Python实现微信PC端聊天记录自动化监听与智能回复

本文详细介绍了如何使用Python实现微信PC端聊天记录的自动化监听与智能回复。通过win32api和uiautomation库,模拟人工操作,实时监控聊天窗口并抓取新消息。文章重点讲解了核心代码逻辑、环境搭建步骤,并提供了实现关键词触发自动回复的完整方案,旨在提高工作效率与信息管理自动化水平。

weixin_29092031的博客 345

Linux命令:用于显示和修改 shell 的行为选项的内置命令shopt详解

shopt 是 Bash shell 提供的一个内置命令,用于设置和查询 shell 选项。它允许用户灵活地调整(启用或禁用)各种 shell 行为,从而自定义 Bash 的工作方式。shopt 命令特别适用于调整文件名扩展、通配符匹配、脚本行为、命令历史记录等方面的设置。可以使用 -s 选项来启用某个 shell 选项,使用 -u 选项来禁用某个 shell 选项。

weixin_70208651的博客 1759

13、基于RBF的自适应鲁棒控制与反步控制方法及实现

本文介绍了基于RBF神经网络的自适应鲁棒控制与反步控制方法,详细阐述了控制系统的程序结构、核心算法及实现流程。通过Simulink搭建仿真系统,利用RBF网络逼近系统中的不确定非线性函数,并结合Lyapunov稳定性理论设计控制律,实现了对倒立摆等复杂非线性系统的高精度跟踪控制。文章还提供了完整的MATLAB/Simulink代码示例和仿真结果分析,验证了该方法的有效性与鲁棒性,为实际工程应用提供了可行的技术路径。

ol789012的博客 87

python中视觉检测怎么将多个面拍照的图片合成一个3d图像,用什么技术或者什么模型?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 709

Linux命令-shopt(Bash 内建:Shell 选项管理)

shopt(shell options)是 Bash 内建命令,用于启用/禁用/查询 Bash 特有的 shell 选项。它与 set 命令配合但侧重点不同:set 控制 POSIX 标准选项(如 set -e),shopt 控制 Bash 扩展选项(如 extglob、nullglob)。掌握 shopt 能解锁 Bash 的"高级玩法"——扩展通配符 **、递归匹配 @(pattern-list)、不区分大小写通配等。

RisunJan的博客 418

爬虫Incapsula reese84加密案例:Etihad航空(纯算法)

爬虫Incapsula reese84加密案例:Etihad航空,本文就不再讲解如何找加密参数、定位加密参数,以及分析加密的一个过程。就直接从扣算法开始,扣算法前先看之前讲解的加密函数生成的过程,文章会一个函数一个函数的讲解扣算法。fiddler根据规则替换本地文件。调试过程中遇到部分环境不一样是正常的,具体还要根据自己调试的js为准,就像之前补环境时是有二十一个循环,这次扣算法多出一个循环,不过大部分环境是一样的第一个函数:通过document.addEventListener添加了很多事件。

老衲爱洗头的博客 1992

【Bash百宝箱】shell内建命令之set、shopt

1、set在shell中,内建(builtin)命令set,格式如下:set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...] set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]set命令用以改变bash默认行为,不指定任何选项和参数时,显示所有shell变量的名称及值,包括shell函数,但

Making Life Better. Making Others Better. 2598

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

linux 内建命令函数库,help – 该命令是bash内建命令,用于显示bash内建命令的帮助信息。 - Linux 命令大全...

该命令是bash内建命令,用于显示bash内建命令的帮助信息。补充说明help命令 help命令只能显示bash内建命令的帮助信息,而对于外部命令的帮助信息只能使用man或者info命令查看。语法help(选项)(参数)选项-d:显示内建命令的简要描述。-m:按照man手册的格式输出内建命令的帮助信息。-s:仅输出内建命令的命令格式。不指定选项时:输出的帮助信息类似于-m选项,但是缺少段落名称和'...

weixin_32933155的博客 242

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Bash学习 - 第4章:Shell Builtin Commands,第3节:Modifying Shell Behavior

本文为的读书笔记。注:4.4节 Special Builtins 比较短,也放在本笔记中。

In-Memory Computing Technology 1220

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

linux help命令详解,Linux命令手册

help该命令是bash内建命令,用于显示bash内建命令的帮助信息。补充说明help命令 help命令只能显示bash内建命令的帮助信息,而对于外部命令的帮助信息只能使用man或者info命令查看。语法help(选项)(参数)选项-d:显示内建命令的简要描述。-m:按照man手册的格式输出内建命令的帮助信息。-s:仅输出内建命令的命令格式。不指定选项时:输出的帮助信息类似于-m选项,但是缺少段落...

weixin_29420421的博客 1511

bash参考手册之四(shell内建命令)续六

4.3.2 内建命令Shopt 此内建命令改变额外的shell的可选行为。 shopt   shopt [-pqsu] [-o] [optname …] 切换那些用来控制shell的各种可选的行为的变量的值。不带选项,或使用-p选项,则显示所有可设置的选项的列表,同时表明该选项是否被设置。 -p选项以可重用为输入的形式来显示输出。其他选项有以下含义:

老尹的笔记 1536

shell shopt_如何使用shopt定制Bash Shell

shell shoptFatmawati Achmad Zaenuri/ShutterstockFatmawati Achmad Zaenuri / ShutterstockIf you fine-tune the behavior of your Bash shell with shopt, you can control over 50 settings. We’ll show you how...

cuma1988的博客 2353

[shell]set 命令,shopt 命令

我们知道,Bash 执行脚本时,会创建一个子 Shell。上面代码中,script.sh是在一个子 Shell 里面执行。这个子 Shell 就是脚本的执行环境,Bash 默认给定了这个环境的各种参数。set命令用来修改子 Shell 环境的运行参数,即定制环境。一共有十几个参数可以定制,官方手册有完整清单,本章介绍其中最常用的几个。顺便提一下,如果命令行下不带任何参数,直接运行set,会显示所有的环境变量和 Shell 函数。$ set上面重点介绍的set命令的几个参数,一般都放在一起使用。# 写法一。

FL1768317420的博客 1323

Bash 为何要发明 shopt 命令(转)

在 Bash 中,有两个内置命令用来控制 Bash 的各种可配置行为的开关(打开或关闭),这些开关称之为选项(option)。其中一个命令是 set,set 命令有三种功能:显示所有的变量和函数;修改 Bash 的位置参数;控制 Bash 的第一套选项。可见 set 命令完全违背了“一个命令只干一件事”的UNIX 哲学。另外一个命令是 shopt,从名字(shell options 的缩写)就可以看出,它的功能是控制 Bash 的另一套选项。那么问题就来了,为啥要用两套选项? 在回答为什么之前,我们先看.

senlin1202的博客 1385

Bash Shell-使用内置的set和shopt命令设置bash选项

<br />Bash Shell-使用内置的set和shopt命令设置bash选项2008-10-22 14:40使用内置的set和shopt命令设置bash选项<br />    set命令可以用来定制shell环境,使用选项“o”来打开或者关闭选项。例如打开选项:set -o 选项,关闭选项目:set +o 选项。<br />    例如要打开vi交互式命令行编辑,则如下:<br />[root@localhost ~]# set -o   #查看当前设置情况<br />allexport      

RobinHood 1万+

shopt 命令介绍和使用案例

功能shopt用于显示和设置 Bash shell 的行为选项。通过调整这些选项,用户可以改变 shell 的默认行为。用途:常用于脚本编写和交互式使用,以便根据需要启用或禁用特定功能。shopt是一个强大的工具,能够帮助用户自定义 Bash shell 的行为。通过合理利用其功能,用户可以提高工作效率和脚本灵活性。在日常使用中,了解如何启用和禁用这些选项将极大地增强您的命令行体验。

1019

bash之shopt

参考链接: 《Bash 为何要发明 shopt 命令》

astrotycoon 579

用内置的set和shopt命令来设置bash的选项

内置 set 选项表 选项名 开关缩写 功能 allexport -a 打开此开关,自动标记新的或者修改要传出的变量,直到重新关闭 braceexpand -B 将花括号的展开式设置为默认值 emacs 进行命令行编辑,使用emacs内置编辑器,是默认设置 errexit -e 假如一个命令返回一个非0的退出状态值(运行失误)后退出 ,则读入启动文件的时候不做任何设置...

CamelGem 369

Bash中的shopt选项

set选项与shopt选项是两组不同的内容,用set -o和shopt -p可以分别查看两个组所有的打开和关闭的条目, 在默认状态下,有些是打开的,有些是关闭的,shopt各选项随着bash版本的更新会有增加,与shopt相关的基本操作如下:# shopt -p 列出所有选项# shopt -s 列出所有打开的选

legendox的专栏 1361
上一篇: CentOS6 下多版本python管理(pyenv+python+virtualenv+ipython)
下一篇: Linux/Unix Bash Shell 所有内置命令
庚庚911
博客等级 码龄17年 191粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值