shell脚本
ChaseAug
这个作者很懒,什么都没留下…
展开
-
tmux和vim的使用
1. tmux教程功能:(1) 分屏。(2) 允许断开Terminal连接后,继续运行进程。结构:一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。实例:tmux:session 0:window 0:pane 0pane 1...转载 2021-11-22 23:31:06 · 269 阅读 · 0 评论 -
shell语法----引入外部脚本
类似于C/C++中的include操作,bash也可以引入其他文件中的代码。语法格式:. filename # 注意点和文件名之间有一个空格或source filename示例创建test1.sh,内容为:#! /bin/bashname=ChaseAug # 定义变量name然后创建test2.sh,内容为:#! /bin/bashsource test1.sh # 或 . test1.shecho My name is: $name # 可以使用...原创 2021-11-21 00:33:22 · 2115 阅读 · 0 评论 -
shell语法----文件重定向
每个进程默认打开3个文件描述符:stdin标准输入,从命令行读取数据,文件描述符为0stdout标准输出,向命令行输出数据,文件描述符为1stderr标准错误输出,向命令行输出数据,文件描述符为2可以用文件重定向将这三个文件重定向到其他文件中。重定向命令列表命令 说明 command > file 将stdout重定向到file command < file 将stdin重定向到file中 command >> file ...原创 2021-11-20 23:03:42 · 1226 阅读 · 0 评论 -
shell语法----exit命令
exit命令用来退出当前shell进程,并返回一个退出状态;使用$?可以接收这个退出状态。exit命令可以接受一个整数值作为参数,代表退出状态。如果不指定,默认状态值是 0。exit退出状态只能是一个介于 0~255 之间的整数,其中只有 0 表示成功,其它值都表示失败。示例:创建脚本test.sh,内容如下:#! /bin/bashif [ $# -ne 1 ] # 如果传入参数个数等于1,则正常退出;否则非正常退出。then echo "arguments not ...原创 2021-11-20 21:50:51 · 4344 阅读 · 0 评论 -
shell语法----函数
bash中的函数类似于C/C++中的函数,但return的返回值与C/C++不同,返回的是exit code,取值为0-255,0表示正常结束。如果想获取函数的输出结果,可以通过echo输出到stdout中,然后通过$(function_name)来获取stdout中的结果。函数的return值可以通过$?来获取。命令格式:[function] func_name() { # function关键字可以省略 语句1 语句2 ...}不获取 return值和s...原创 2021-11-19 14:10:26 · 449 阅读 · 0 评论 -
shell语法----循环语句
for…in…do…done命令格式:for var in val1 val2 val3do 语句1 语句2 ...done示例1,输出a 2 cc,每个元素一行:for i in a 2 ccdo echo $idone示例2,输出当前路径下的所有文件名,每个文件名一行:for file in `ls`do echo $filedone示例3,输出1-10for i in $(seq 1 10)do ech...原创 2021-11-18 23:37:33 · 1401 阅读 · 0 评论 -
shell语法----判断语句
if...then形式类似于C/C++中的if-else语句。单层if命令格式:if conditionthen 语句1 语句2 语句3 ...fi示例:a=3b=4if ["$a" -lt "$b"] && ["$a" -gt 2]then echo ${a}在范围内fi输出结果:3在范围内单层if-else命令格式if conditionthen 语句1 语句原创 2021-11-18 17:34:37 · 461 阅读 · 0 评论 -
shell语法----test命令与判断符号[]
逻辑运算符&&和||1.&& 表示与,|| 表示或2.二者具有短路原则:expr1 && expr2 :当expr1为假时,直接忽略expr2expr1 || expr2 :当expr1为真时,直接忽略expr23.表达式的exit code为0,表示真;为非0,表示假。(与C/C++中的定义相反)test命令在命令行中输入man test,可以查看test命令的用法test命令用于判断文件类型,以及对变量作比较。test命原创 2021-11-17 17:34:00 · 721 阅读 · 0 评论 -
shell语法----printf命令
printf命令用于格式化输出,类似于C/C++中的printf函数。默认不会在字符串末尾添加换行符。命令格式:printf format -string [arguements...]用法示例脚本内容:printf "%10d.\n" 123 #占10位,右对齐printf "%-10.2f.\n" 123.123321 #占10位,保留2位小数,左对齐printf "My name is %s\n" "Arthur" # 格式化输出字符串printf "%原创 2021-11-17 11:15:30 · 1130 阅读 · 0 评论 -
shell语法----echo命令
echo用于输出字符串。命令格式:echo STRING显示普通字符串echo "Hello Kobe Bryant"echo Hello Kobe Bryant # 引号可以省略显示转义字符echo "\"Hello Kobe Bryant\"" #只能使用双引号echo \"Hello Kobe Bryant\" #也可以省略双引号显示变量name=Arthurecho "My name is $name" #输出 My name i原创 2021-11-17 10:52:54 · 554 阅读 · 0 评论 -
shell语法----read命令
read命令用于从标准输入中读取单行数据。当读到文件结束符时,exit code为1,否则为0.参数说明1.-p:后面可以接提示信息2.-t:后面跟秒数,定义输入字符的等待时间,超过等待时间会自动忽略此命令实例:read name #读入name的值ChaseAugecho $name #输出name的值ChaseAugread -p "Please input your name:" -t 30 name # 读入name的值,等待30sPlease in原创 2021-11-17 10:24:07 · 369 阅读 · 0 评论 -
shell语法----expr命令
expr命令用户求表达式的值,格式为:expr 表达式表达式说明:1.用空格隔开每一项2.用反斜杠放在shell特定的字符前面(发现表达式运行错误时,可以试试转义)3.对包含空格和其他特殊字符的字符串要用引号括起来4.expr会在stdout中输出结果如果为逻辑关系表达式,则结果为真,stdout为1,否则为0.5.expr的exit code:如果为逻辑关系表达式,则结果为真,exit code为0,否则为1.字符串表达式1.length STRING 返回STRIN.原创 2021-11-16 23:17:07 · 3944 阅读 · 0 评论 -
shell语法----数组
数组中可以存放多个不同类型的值,只支持一维数组,初始化时不需要指明数组大小。数组下标从0开始。定义:数组用小括号表示,元素之间用空格隔开。例如:array=(1 abc "def" ChaseAug)也可以直接定义数组中某个元素的值:array[0]=1array[1]=abcarray[2]="def"array[3]=ChaseAug读取数组中某个元素的值格式:${array[index]}例如:array=(1 abc "def" ChaseA原创 2021-11-16 11:46:46 · 389 阅读 · 0 评论 -
shell语法----默认变量
文件参数变量在执行shell脚本时,可以向脚本传递参数。$1是第一个参数,$2是第二个参数,以此类推。特殊的,$0是文件名(包含路径)。例如:创建文件 tesh.sh :#! /bin/bashecho "文件名:"$0echo "第一个参数:"$1echo "第二个参数:"$2echo "第三个参数:"$3echo "第四个参数:"$4然后执行脚本:chmod +x tesh.sh./tesh.sh 1 2 3 4输出:文件名:./test.sh第一个参...原创 2021-11-16 11:27:31 · 317 阅读 · 0 评论 -
Shell语法----概论
简介:shell是我们通过命令行与操作系统沟通的语言,shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。Linux中常见的shell脚本有:Bourne Shell(/usr/bin/sh或/bin/sh);Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)zsh…Linux系统中一般默认使用bash,所以我们主要学习bash中的语法。文件开..原创 2021-11-15 22:48:58 · 1144 阅读 · 0 评论 -
shell语法----注释
单行注释每行中#之后的内容均是注释# 这是一行注释echo "Hello World!" # 这也是注释多行注释:<<EOF第一行注释第二行注释第三行注释EOF其中EOF可以换成其他任意字符串。例如::<<zhushi第一行注释第二行注释。。。zhushi:<<!第一行注释第二行注释。。。!...原创 2021-11-15 22:53:55 · 576 阅读 · 2 评论 -
shell语法----变量
定义变量:定义变量不需要加$符号,例如:name1='ChaseAug' #单引号可以定义name2="ChaseAug" #双引号也可以定义name3=ChaseAug #也可以不加引号,表示字符串使用变量:使用变量时需要加上$符号,或者${}符号。花括号是可选的,主要是帮助解释器识别变量边界。name=ChaseAugecho $ChaseAug #输出ChaseAugecho ${name} #输出ChaseAugecho ${n...原创 2021-11-15 23:22:01 · 1148 阅读 · 0 评论