千家信息网

shell怎么用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要为大家展示了"shell怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"shell怎么用"这篇文章吧。一、shell脚本开始设定#!/bi
千家信息网最后更新 2025年12月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安全错误 数据库的锁怎样保障安全 软件开发公司深圳钟建明 我的世界服务器怎么用坐标指令 学生观看网络安全教育短片 服务器关闭自动安装程序 开机显示未连接到服务器 创造与魔法家园服务器怎么做 链接服务器超时出现问题 八年国家网络安全宣传周活动主 网易实名认证服务器填啥 网络安全和信息化的作用 02336数据库 服务器主机可以家用吗 服务器存储的安全使用年限 软件开发行业看不看证书 软件开发入门到精通课程 计算机网络技术第一章 云手机的服务器地址怎么填 软件开发常用软件 如果要找软件开发简历如何写 广电竞赛网络安全 飘零服务器怎么搭建 九江哪里有学习网络安全的 迈克菲网络安全套装下载 将远程数据库备份到本地 网络安全技术防线又是底线 网络安全存在的问题的范文 数据库csid 中台需要数据库吗 上海铭桃互联网科技 重庆品质软件开发推广
0