Shell 命令学习总结
一、概述
shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁,是一种命令语言。
二、使用
1、变量
#! /bin/bash # #!是一个约定标记,告诉系统用什么解释器来执行 echo XXX # 用于向窗口输出文本 your_name="runoob.com" # 注意变量名和等号之间不能有空格 # 获取字符串长度 string="abcd" echo ${#string} # 等价于echo ${#string[0]},获取字符串长度 echo #{string:1:2} # 提取子字符串 索引从1-2 string="abc def ghi" echo `expr index "$string" e` # 输出字母e出现的位置,脚本中 ` 是反引号,而不是单引号 '
2、数组
array_name=(value0 value1 value2 value3) echo ${array_name[@]} # 表示获取所有元素,@也可使用* length=${#aray_name[@]} # 获取数组长度 echo $length
3、循环+多行注释
for name in Zhangsan Lisi Wangwu; do echo "姓名: ${name}" # 变量名外面的花括弧可加可不加 done for file in $(ls /etc) 或 for file in "ls /etc" # 列出/etc目录下的所有文件名 #多行注释 :<<EOF 注释内容... 注释内容... EOF
4、shell传递参数
test.sh #! /bin/bash echo "执行的文件名:$0" echo "$第一个参数为:$1" echo "$第二个参数为:$2" echo "$第三个参数为:$3" sh test.sh param1 param2 param3 # 执行时,传参
5、Shell基本运算符
5.1 算术运算符:
val=`expr 2 + 3` # 注意`是反引号 echo $val
5.2 关系运算符
-eq 检查两个数是否相等,相等返回true
-ne 检查两个数是否不相等,不相等返回true
-lt 检查左边数小于右边数
-gt 检查左边数大于右边数
-le 检查左边数小于等于右边数
-ge 检查左边数大于等于右边数
a=10 b=20 if [ $a -eq $b ] # 注意 [和$之间要有空格 then echo "相等" else echo "不相等" fi
5.3 布尔运算符
! 非运算
-o 或运算
-a 与运算
a = 10 b = 20 if [ $a -eq 10 -o $b -eq 10 ] # 注意 -o是字母,不是数字0 then echo "逻辑或判断成功" else echo "逻辑或判断失败" fi
5.4 文件测试运算符
-e file # 检查文件或目录是否存在(exist),存在则返回true
-s file # 检查文件大小(size)是否为空,不为空返回true
-x file # 检查文件是否为可执行文件
-w file # 检查文件是否可写
if [ -e $file ] then echo "文件存在" else echo "文件不存在" fi
6、shell函数
# shell函数 格式: [ function ] funname () { # [ function ] 表示这个字段可有可无 action; return } demoFun(){ echo "这是我的第一个 shell 函数!" }
7、 shell 输入/输出重定向
command > file 将输出重定向到file
command < file 将输入重定向到file
command >> file 将输出已追加的方式重定向到file
n > file 将文件描述符为n的文件重定向到file
n >& m 将输出文件m和n合并
注意: 0 是标准输入(stdin),1是标准输出(stdout),2是标准错误输出(stderr)
8、shell文件包含
shell也可以包含外部脚本,这样可以将一些公用代码封装成一个独立的文件
shell包含文件格式
. filename 或 source filename
test1.sh
#!/bin/bash # author:菜鸟教程 # url:www.runoob.com url="http://www.runoob.com"
test2.sh
#!/bin/bash # author:菜鸟教程 # url:www.runoob.com #使用 . 号来引用test1.sh 文件 . ./test1.sh # 或者使用以下包含文件代码 # source ./test1.sh echo "菜鸟教程官网地址:$url"
接下来,我们为 test2.sh 添加可执行权限并执行:
chmod +x test2.sh ./test2.sh 菜鸟教程官网地址:http://www.runoob.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~