全面整理linux下shell中各种括号的作用及用法

当初自己在学习shell编程的时候,被各种括号的用法搞得头昏脑涨。靠着逐步的熟悉和积累,才终于掌握的所有的括号的用法。现在,把自己总结出来的分享给大家。

注:看本篇文档的前提是你已经有了bash以及shell编程的基础。

单小括号()

但小括号常见的两个作用:命令替换以及数组的初始化

命令替换

当碰到$()结构时,shell就把括号的内命令执行,并返回结果

# tmp=$(date)# echo $tmpFri Sep 18 10:22:30 CST 2020

初始化数组

# 初始化数组lnmp=(linux nginx mysql php)

双小括号(())

记住双括号有一个特点,就是括号内的要符合c语言的语法,使用变量名时不需要加上$符号的。

双小括号的用法比较多,它可以用作整数计算(不支持小数)。例如:$((3+2))

# echo $((1+3))4# n1=3# echo $((n1+7))10

只要符合c语言语法的运算扩展,都可以写在括号里

# echo $((3+4>5 ? 1 :0)) 1# echo $((3+4>9 ? 1 :0)) 0

重新给变量赋值,这个时候不可在括号外加$符

# i=1;((i++));echo $i;2# i=1;((i=100));echo $i;100

双括号还经常用在for循环中

for ((i=0;i<5;i++));do echo -n $i;done

单方括号[]

单方括号最常见用于逻辑判断中,另外它还可以作为数组的下标,以及在正则中表示一段范围

shell脚本中用于条件判断:

法语写作助手 法语写作助手

法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。

法语写作助手 31 查看详情 法语写作助手

if [ 1 > 2 ] then    ……fi

也可以作为数组下标:

# echo ${lnmp[1]}nginx

在正则中使用,表示一段范围

[0-9]  表示数子0-9都行

双方括号

和单括号一样,双方括号也用在条件判断中,但它比单方括号更加的通用。下面举一个例子:

[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ]改成双括号[[ a > b && a > 0 ]]

单花括号{}

花括号拓展。(通配(globbing))将对花括号中的文件名做扩展。在大括号中,不允许有空白,除非这个空白被引用或转义。

比如输入命令 rm -f {1,2}.txt将删除1.txt和2.txt文件。

单花括号中..的作用

两个点在这里表示一段范围的意思。比如

echo {1..10}  #将打印1,2,3,4,5,6,7,8,9,10

花括号还常用在shell脚本里,用于代码块。

初次之外,单花括号还可以用作变量内容的替换和删除以及变量内容的测试,给出一个常见的例子。我们常常会判断一个变量是否存在,如果不存在,则给该变量设置新值。

val=${n1:-test}

上面代码表示如果n1这个变量不存在或为空,则将val变量值设置为test,否则val值为n1变量的值

以上就是全面整理linux下shell中各种括号的作用及用法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/548563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 18:57:21
下一篇 2025年11月9日 19:02:35

相关推荐

  • Python中如何实现桥接模式?

    在python中实现桥接模式可以通过以下步骤:1)定义实现部分的抽象接口(如drawingapi),2)创建具体实现类(如drawingapi1和drawingapi2),3)定义抽象部分的抽象接口(如shape),4)创建具体抽象类(如circle),5)通过组合实现部分和抽象部分,使它们独立变化…

    2025年12月14日
    000
  • 如何用Python操作Docker?

    用python操作docker可以通过以下步骤实现:1. 安装docker库:使用pip install docker。2. 创建docker客户端并进行基本操作,如列出容器。3. 构建docker镜像:使用client.images.build()方法。4. 推送镜像到docker hub:使用c…

    2025年12月14日
    000
  • 怎样用Python压缩文件?

    python压缩文件主要使用zipfile和tarfile模块。1)使用zipfile模块创建zip文件,代码示例展示了如何压缩文件。2)使用tarfile模块创建tar.gz文件,代码示例展示了压缩过程。注意路径处理、压缩级别和错误处理。 用Python压缩文件其实是个很酷的技能,尤其当你需要处理…

    2025年12月14日
    000
  • python怎么进入编程界面 编程界面进入步骤

    进入python编程界面的步骤包括:1. 在计算机上安装python,记得勾选“add python to path”选项;2. 打开命令行或终端,输入“python”或“python3”进入交互式解释器界面。这是一个直观且适合初学者的环境,但对于大型项目可能不够方便。 进入Python编程界面的步…

    2025年12月14日
    000
  • python手动添加环境变量 python环境变量配置

    手动添加环境变量在windows、macos和linux上分别通过系统属性、~/.bashrc或~/.bash_profile文件实现。1. 在windows上,通过系统属性添加my_var变量。2. 在macos和linux上,通过编辑~/.bashrc或~/.bash_profile文件添加my…

    2025年12月14日
    000
  • Python中如何获取CPU使用率?

    在python中获取cpu使用率可以使用psutil库。1) 安装psutil库;2) 使用psutil.cpu_percent()函数获取cpu使用率,设置interval参数;3) 通过多次采样并取平均值提高准确性;4) 使用psutil.cpu_percent(percpu=true)监控多个…

    2025年12月14日
    000
  • python网站入口 python网站入口直接打开入口

    Python 作为一门广泛应用于数据科学、机器学习、人工智能、Web 开发等领域的编程语言,其官方网站是每个 Python 开发者和学习者的必经之路。无论你是初学者还是经验丰富的开发者,Python 官方网站都提供了丰富的资源和工具,帮助你更好地学习和使用这门语言。通过 Python 官方网站,你可…

    2025年12月14日
    000
  • Python中如何隐藏命令行窗口?

    在python中,可以通过ctypes在windows上隐藏命令行窗口,通过subprocess在linux或macos上隐藏窗口。1. 在windows上,使用ctypes调用showwindow函数隐藏窗口。2. 在linux或macos上,使用subprocess启动后台进程隐藏窗口。 在Py…

    2025年12月14日
    000
  • Python中如何创建虚拟环境?

    在python中创建虚拟环境使用venv模块,步骤如下:1. 创建虚拟环境:python -m venv myenv;2. 激活虚拟环境:在windows上使用myenvscriptsactivate,在macos和linux上使用source myenv/bin/activate。使用虚拟环境可以…

    2025年12月13日
    000
  • DataCap中验证码无法显示并出现NullPointerException错误的原因是什么?如何解决?

    在使用datacap时,用户可能会遇到验证码无法正常显示的问题,并在后台日志中发现nullpointerexception错误。这种情况不仅影响用户体验,还可能导致系统无法正常运行。接下来我们将详细探讨这一问题的成因及解决方法。 问题描述:用户在尝试访问需要验证码的页面时,发现验证码图片无法显示,同…

    2025年12月13日
    000
  • 在 Linux 系统中如何解决 DataCap 验证码无法显示的问题?

    在 Linux 系统中解决 DataCap 验证码显示问题 在使用 DataCap 时,用户可能会遇到验证码无法显示的问题,并且在后台日志中发现出现了 NullPointerException 错误。这种情况通常发生在 Linux 系统(如 CentOS)上,并且是由于系统中缺少或配置错误的字体配置…

    2025年12月13日
    000
  • 有哪些常用的Python代码管理工具(如Git)?

    在python编程中,常用的代码管理工具包括git、mercurial、subversion(svn)和bazaar。1. git是首选工具,因其功能强大和灵活性广受欢迎。2. mercurial适合新手和小型项目。3. svn简单易用,但不适合分布式开发。4. bazaar功能全面,但社区支持较少…

    2025年12月13日 好文分享
    000
  • 如何找到预装爬虫工具的安卓虚拟机?

    在进行爬虫工作时,许多人会选择使用安卓虚拟机来模拟安卓环境。然而,找到一个开箱即用的、预装了爬虫工具的虚拟机并不简单。以下是对这一问题的深入探讨和解决方案。 尝试过的安卓虚拟机 在我的尝试过程中,我使用了 BlueStacks Air 和 MuMu 模拟器 Pro 这两款适用于 Mac 的安卓虚拟机…

    2025年12月13日
    000
  • 如何运行Python脚本?

    运行python脚本的方法包括使用命令行和ide。1.使用命令行运行:输入”python script.py”。2.使用ide运行,如pycharm或vs code。确保正确设置环境变量和管理依赖,优化代码性能,并遵循最佳实践以提高效率和可维护性。 引言 在编程世界中,运行P…

    2025年12月13日
    000
  • 如何配置Python开发环境的变量?

    配置python开发环境变量的步骤如下:1. 在windows上,通过系统属性设置path、pythonpath和pythonhome。2. 在macos和linux上,通过编辑.bashrc、.zshrc或.profile文件设置环境变量。正确配置这些变量能确保python脚本在不同环境下顺利运行…

    2025年12月13日
    000
  • python socket.error: [Errno 10054]远程主机强迫关闭了怎么办

    本文将为您详细解读如何处理python socket.error: [errno 10054]远程主机强迫关闭的问题。小编认为这非常实用,因此分享给大家作为参考,希望大家在阅读完本文后能有所收获。 解决方案: 1. 检查防火墙配置: 确保防火墙允许从源 IP 地址到目标 IP 地址和端口的流量。在 …

    2025年12月13日
    000
  • python词云库如何安装

    本文将为大家详细介绍有关如何在python中安装词云库的步骤,希望这些信息对大家有所帮助。 Python 词云库安装指南 简介 词云是一种可视化文本数据的工具,通过调整单词的字体大小和颜色来突显文本中最常见的单词。在Python中,有多个常用的词云库,其中包括wordcloud和Pyphen。 安装…

    2025年12月13日
    000
  • 怎样安装Python开发环境?

    搭建python开发环境的步骤包括:1. 从python.org下载并安装python解释器,windows用户需勾选“add python to path”;2. 配置环境变量,确认使用python –version命令;3. 选择并安装pycharm作为ide,启动时选择python…

    2025年12月13日
    000
  • 学习Python应该遵循怎样的学习路径?

    学习python的路径应从基础语法开始,逐步深入到高级用法和性能优化。1.掌握基本编程概念和python安装。2.学习基本语法和数据结构。3.理解函数、模块和面向对象编程。4.熟悉基本和高级用法。5.掌握常见错误调试和性能优化。通过实践和应用,你将逐渐掌握python。 引言 你问我学习Python…

    2025年12月13日
    000
  • ​Ubuntu 22.04 源码编译安装 Python 3.12:依赖项全解析

    在 ubuntu 22.04 上源码编译安装 python 3.12 的步骤包括:1. 安装依赖项:使用 sudo apt update 和 sudo apt install 命令安装必要的库;2. 下载源码:使用 wget 和 tar 命令下载并解压 python 3.12 源码;3. 配置、编译…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信