- 目录 常见错误 bash的-x参数 环境变量 LINENO FUNCNAME BASH_SOURCE BASH_LINENO 常见错误 编写 Shell 脚本的时候,一定要考虑到命令失败的情况,否则很容易出错。 #! /bin/bash dir_name=/path/not/exist cd $dir_namerm * 上面脚本中,如果目录$di... 目录 常见错误 bash的-x参数 环境变量 LINENO FUNCNAME BASH_SOURCE BASH_LINENO 常见错误 编写 Shell 脚本的时候,一定要考虑到命令失败的情况,否则很容易出错。 #! /bin/bash dir_name=/path/not/exist cd $dir_namerm * 上面脚本中,如果目录$di...
- 目录 创建数组 读取数组 读取单个元素 读取所有成员 默认位置 数组的长度 提取数组序号 提取数组成员 追加数组成员 删除数组 关联数组 数组(array)是一个包含多个值的变量。成员的编号从0开始,数量没有上限,也没有要求成员被连续索引。 创建数组 数组可以采用逐个赋值的方法创建。 ARRAY[INDEX]=value 上面语法中,ARRA... 目录 创建数组 读取数组 读取单个元素 读取所有成员 默认位置 数组的长度 提取数组序号 提取数组成员 追加数组成员 删除数组 关联数组 数组(array)是一个包含多个值的变量。成员的编号从0开始,数量没有上限,也没有要求成员被连续索引。 创建数组 数组可以采用逐个赋值的方法创建。 ARRAY[INDEX]=value 上面语法中,ARRA...
- 目录 字符串的长度 子字符串 搜索和替换 改变大小写 字符串的长度 获取字符串长度的语法如下。 ${#varname} 下面是一个例子。 $ myPath=/home/cam/book/long.file.name$ echo ${#myPath}29 大括号{}是必需的,否则 Bash 会将$#理解成脚本的参数个数,将变量名理解成文本。 $ e... 目录 字符串的长度 子字符串 搜索和替换 改变大小写 字符串的长度 获取字符串长度的语法如下。 ${#varname} 下面是一个例子。 $ myPath=/home/cam/book/long.file.name$ echo ${#myPath}29 大括号{}是必需的,否则 Bash 会将$#理解成脚本的参数个数,将变量名理解成文本。 $ e...
- 目录 环境变量 PS1 颜色 环境变量 PS2,PS3,PS4 用户进入 Bash 以后,Bash 会显示一个命令提示符,用来提示用户在该位置后面输入命令。 环境变量 PS1 命令提示符通常是美元符号$,对于根用户则是井号#。这个符号是环境变量PS1决定的,执行下面的命令,可以看到当前命令提示符的定义。 $ echo $PS1 Bash 允许用户自定义命令提... 目录 环境变量 PS1 颜色 环境变量 PS2,PS3,PS4 用户进入 Bash 以后,Bash 会显示一个命令提示符,用来提示用户在该位置后面输入命令。 环境变量 PS1 命令提示符通常是美元符号$,对于根用户则是井号#。这个符号是环境变量PS1决定的,执行下面的命令,可以看到当前命令提示符的定义。 $ echo $PS1 Bash 允许用户自定义命令提...
- 目录 Session 登录 Session 非登录 Session .bash_logout 启动选项 键盘绑定 Session 用户每次使用 Shell,都会开启一个与 Shell 的 Session(对话)。 Session 有两种类型:登录 Session 和非登录 Session,也可以叫做 login shell 和 non-login s... 目录 Session 登录 Session 非登录 Session .bash_logout 启动选项 键盘绑定 Session 用户每次使用 Shell,都会开启一个与 Shell 的 Session(对话)。 Session 有两种类型:登录 Session 和非登录 Session,也可以叫做 login shell 和 non-login s...
- 目录 简介 set -u set -x Bash 的错误处理 set -e set -o pipefail 其他参数 set 命令总结 shopt 命令 set命令是 Bash 脚本的重要环节,却常常被忽视,导致 目录 简介 set -u set -x Bash 的错误处理 set -e set -o pipefail 其他参数 set 命令总结 shopt 命令 set命令是 Bash 脚本的重要环节,却常常被忽视,导致
- 一共写了 20 节,Bash 脚本编程的主要语法,都包括在内了,日常使用应该足够。也欢迎初学者使用这个教程,学习 Bash。 这个教程是开源的,你可以克隆它的代码仓库,放在本地,也可以提交 issue 和 pull request,反馈感想,帮助我提高教程质量。 在线阅读:https://wangdoc.com/bash/ GitHub 地址:https://gi... 一共写了 20 节,Bash 脚本编程的主要语法,都包括在内了,日常使用应该足够。也欢迎初学者使用这个教程,学习 Bash。 这个教程是开源的,你可以克隆它的代码仓库,放在本地,也可以提交 issue 和 pull request,反馈感想,帮助我提高教程质量。 在线阅读:https://wangdoc.com/bash/ GitHub 地址:https://gi...
- 目录 简介 参数变量 return 命令 全局变量和局部变量,local 命令 简介 函数(function)是可以重复使用的代码片段,有利于代码的复用。它与别名(alias)的区别是,别名只适合封装简单的单个命令,函数则可以封装复杂的多行命令。 函数总是在当前 Shell 执行,这是跟脚本的一个重大区别,Bash 会新建一个子 Shell 执行脚本。... 目录 简介 参数变量 return 命令 全局变量和局部变量,local 命令 简介 函数(function)是可以重复使用的代码片段,有利于代码的复用。它与别名(alias)的区别是,别名只适合封装简单的单个命令,函数则可以封装复杂的多行命令。 函数总是在当前 Shell 执行,这是跟脚本的一个重大区别,Bash 会新建一个子 Shell 执行脚本。...
- 目录 转义 单引号 双引号 Here 文档 Here 字符串 转义 某些字符在 Bash 里面有特殊含义(比如$、&、*)。 $ echo $date $ 上面例子中,输出$date不会有任何结果,因为$是一个特殊字符。 如果想要原样输出这些特殊字符,就必须在它们前面加上反斜杠,使其变成普通字符。这就叫做“转义”(escape)。 $ echo ... 目录 转义 单引号 双引号 Here 文档 Here 字符串 转义 某些字符在 Bash 里面有特殊含义(比如$、&、*)。 $ echo $date $ 上面例子中,输出$date不会有任何结果,因为$是一个特殊字符。 如果想要原样输出这些特殊字符,就必须在它们前面加上反斜杠,使其变成普通字符。这就叫做“转义”(escape)。 $ echo ...
- 解决方法: cp /etc/skel/.bash* /root/ 从etc目录下复制.bash结尾的文件到/root中这里面有我们缺少的配置文件 ls -a /root/ 查看一下root列表 rerboot 重启Centos 解决方法: cp /etc/skel/.bash* /root/ 从etc目录下复制.bash结尾的文件到/root中这里面有我们缺少的配置文件 ls -a /root/ 查看一下root列表 rerboot 重启Centos
- 目录 简介 光标移动 清除屏幕 编辑操作 自动补全 操作历史 基本用法 history 命令 相关快捷键 其他快捷键 简介 Bash 内置了 Readline 库,具有这个库提供的很多“行操作”功能,比如命令的自动补全,可以大大加快操作速度。 这个库默认采用 Emacs 快捷键,也可以改成 Vi 快捷键。 $ set -o vi 下面的命... 目录 简介 光标移动 清除屏幕 编辑操作 自动补全 操作历史 基本用法 history 命令 相关快捷键 其他快捷键 简介 Bash 内置了 Readline 库,具有这个库提供的很多“行操作”功能,比如命令的自动补全,可以大大加快操作速度。 这个库默认采用 Emacs 快捷键,也可以改成 Vi 快捷键。 $ set -o vi 下面的命...
- 检查一下你的~/.bashrc 或 ~/.bash_profile,看看有没有一行内容是 export =/usr/bin/nano,把这行内容删掉就行了。 示:bash: export: `=': 不是有效的标识符 原因:=左右不能有空格 检查一下你的~/.bashrc 或 ~/.bash_profile,看看有没有一行内容是 export =/usr/bin/nano,把这行内容删掉就行了。 示:bash: export: `=': 不是有效的标识符 原因:=左右不能有空格
- 执行shell脚本报这个错 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容。。。 具体细节不管,如果验证: vim test.sh :set ff? 如果出现fileforma=dos那么就基本可以确定是这个问题了。 :set fileformat=unix :wq 参考: /b... 执行shell脚本报这个错 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容。。。 具体细节不管,如果验证: vim test.sh :set ff? 如果出现fileforma=dos那么就基本可以确定是这个问题了。 :set fileformat=unix :wq 参考: /b...
- 目录 用法 参数 IFS 变量 用法 有时,脚本需要在执行过程中,由用户提供一部分数据,这时可以使用read命令。它将用户的输入存入一个变量,方便后面的代码使用。用户按下回车键,就表示输入结束。 read命令的格式如下。 read [-options] [variable...] 上面语法中,options是参数选项,variable是用来保存输入数值... 目录 用法 参数 IFS 变量 用法 有时,脚本需要在执行过程中,由用户提供一部分数据,这时可以使用read命令。它将用户的输入存入一个变量,方便后面的代码使用。用户按下回车键,就表示输入结束。 read命令的格式如下。 read [-options] [variable...] 上面语法中,options是参数选项,variable是用来保存输入数值...
- 目录 cd - pushd,popd dirs 命令 为了方便用户在不同目录之间切换,Bash 提供了目录堆栈功能。 cd - Bash 可以记忆用户进入过的目录。默认情况下,只记忆前一次所在的目录,cd -命令可以返回前一次的目录。 # 当前目录是 /path/to/foo$ cd bar # 重新回到 /path/to/foo$ cd - 上面例子中,用... 目录 cd - pushd,popd dirs 命令 为了方便用户在不同目录之间切换,Bash 提供了目录堆栈功能。 cd - Bash 可以记忆用户进入过的目录。默认情况下,只记忆前一次所在的目录,cd -命令可以返回前一次的目录。 # 当前目录是 /path/to/foo$ cd bar # 重新回到 /path/to/foo$ cd - 上面例子中,用...
上滑加载中
推荐直播
-
AI编码实干派,“码”力全开2026/02/26 周四 15:00-16:30
谈宗玮/于邦旭/丁俊卿/陈云亮/王一男
【中国,深圳,2026年2月26日】,以“AI编码实干派,码力全开”为主题的华为云码道(CodeArts)代码智能体新春发布会在线上成功召开。华为云码道公测版正式发布,为开发者和企业提供具备工程化能力的智能编码解决方案。
回顾中 -
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中
热门标签