千家信息网

shell怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"shell怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"shell怎么用"这篇文章吧。一、shell脚本开始设定#!/bi
千家信息网最后更新 2026年11月02日shell怎么用

这篇文章主要为大家展示了"shell怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"shell怎么用"这篇文章吧。

一、shell脚本开始设定

#!/bin/bashset -o nounsetset -o errexit

(1) set -o nounset

遇到不存在的变量,终止脚本的执行。shell脚本执行时,遇到未定义的变量,往往会继续执行,这不符合预期,也往往会带来莫名其妙的问题,增大排查难度。

(2) set -o errexit

执行shell脚本过程中,遇到错误,但往往会继续执行,这不符合预期,加上该设置,shell脚本执行过程中遇到错误就会终止脚本的执行。

这两个设定,都符合fail fast设计理念。

二、封装函数有必要

封装可以提高复用。

三、使用readonly和local修饰变量

readonly:顾名思义,只读。
local:函数内变量。
不仅能提高安全性,还能避免很多让人崩溃的莫名其妙的错误。

四、使用$()代替`(反单引号)

例子:

#!/bin/bashpath=`pwd`echo $pathecho "`pwd`"echo "$(pwd)"

$()能够支持内嵌;
$()不用转义;

五、使用[[]]代替[]

[[]]更符合人性编码

避免转义问题;
有不少新功能;
新功能包含但不限于:

|| :逻辑或
&& :逻辑与
< :字符串比较,不需要转义处理
== :通配符(globbing)字符串比较
=~ :正则表达式(regular expression, RegEx)字符串比较

从bash4.2开始,通配符和正则表达式都不能用引号包起来,所以,通配符和正则表达式加了引号就是字面比较。

所以如果表达式里有空格,必须存储到一个变量里,再进行通配符与正则的比较。

六、调试方法

1、echo 打印

2、使用 -n 对脚本进行语法检查。

sh -n myshell.sh

3、使用 -v 跟踪脚本里的每个命令的执行。

sh -v myshell.sh

4、使用 -x 跟踪脚本里的每个命令的执行,并附加扩充信息。

sh -x myshell.sh

也可以在脚本里添加如下设定来永久指定输出调试信息

set -o verbose set -o xtrace

测试完后移除。

以上是"shell怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

脚本 变量 正则 表达式 通配符 内容 字符 字符串 引号 篇文章 转义 错误 莫名其妙 这不 信息 函数 命令 新功能 过程 逻辑 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 工业互联网科技新基建 与互联网科技公司 广州互联网科技公司 华中科技大学互联网 互联网科技上市公司 奔汉互联网科技 互联网巨头投资的硬核科技 互联网公司会议桌创意科技软装饰 安控科技rtu产品工业互联网 重庆互联网医院沙龙医盟信息科技 移动互联网科技公司 未来五年的互联网科技 企晟互联网信息科技有限公司 深圳艾果互联网通讯科技 江苏互联网智能科技软件 广州有谷有贝互联网科技有限公司 福建互联网展示科技馆设计 长沙渺峰互联网科技有限公司 杭州融税互联网科技有限公司 互联网对科技影响 互联网科技资迅 致骋互联网科技 致聘互联网科技 银优互联网科技有限公司 互联网 新科技 国外互联网科技网站 湖南洣水互联网科技有限公司扣款 佛山市翊博互联网络科技有限公司 南博望互联网科技有限公司 科技互联网专业务虚会材料
0