shell script快速入门-基础语法
【摘要】 第一个脚本
sh01.sh
#!/bin/bash
echo "hello"12
执行bash sh01.sh
区别
source: 父进程中执行
bash:子进程中执行
12
编辑器
推荐使用sublime编辑器: sublime配置shell脚本解释器
实例
实例 1:姓+名->姓名
#!/bin/bash
# program: inpu...
第一个脚本
sh01.sh
#!/bin/bash
echo "hello"
- 1
- 2
执行bash sh01.sh
区别
source: 父进程中执行
bash:子进程中执行
- 1
- 2
编辑器
推荐使用sublime编辑器: sublime配置shell脚本解释器
实例
实例 1:姓+名->姓名
#!/bin/bash
# program: input firstname and lastname, output fullname
# data: 2018-07-11
# author: peng shiyu
read -p "input your firstname:" firstname
read -p "input your lastname:" lastname
echo "your fullname is: $firstname $lastname"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
说明:
第一行 #!
声明shell
其余 #
注释
开头应该尽量说明文件功能
实例 2:用当前日期创建文件
#!/bin/bash
# program: create file by date
# date: 2018-07-12
# author: peng shiyu
echo "create start..."
# 文件名
filename="file-"
date1=$(date +%Y%m%d)
file1="${filename}${date1}.txt"
# 创建文件
touch $file1
echo "create end!"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
基础语法
#!/bin/bash
# 上面这句指定脚本
echo "hello world"
echo "你好,世界!"
# 这是注释
# 定义变量, 等号前后不能有空格
name="Tom"
age=12
# 使用变量, 三种方式
echo $name # Tom
echo ${name} # Tom
echo "${name}" # Tom
# 删除变量, 打印出空值
unset name
echo $name #
# 字符串, 单引号(原样输出),双引号(变量和转义),不使用
person1=Jack
person2='杰克'
person3="Jack${age}"
echo $person1 # Jack
echo $person2 # Jack
echo $person3 # Jack12
# 获取字符串的长度
echo ${#person1} # 4
echo ${#person2} # 6
# 定义数组
list=("小仓" "小井" "小空")
# 数组分量单独赋值
list[3]="小泽"
# 读取数组元素
echo ${list[0]} # 小仓
echo ${list[1]} # 小井
echo ${list[2]} # 小空
echo ${list[3]} # 小泽
# 获取数组所有元素
echo ${list[*]} # 小仓 小井 小空 小泽
# 获取数组元素个数
echo ${#list[@]} # 4
echo ${#list[*]} # 4
# 运算符 表达式和运算符之间要有空格
# 关系运算符 -eq -ne -gt -lt -ge -le
# 布尔运算符 && ||
# 字符串运算符 = != -z(长度为0返回true)-n(长度不为0返回true)str(字符串不为空返回true)
# 流程控制 if语句 注意空格
a=1
b=2
if [ $a -eq $b ] then echo "a == b"
elif [ $a -gt $b ] then echo "a > b"
else echo "a < b"
fi
# a < b
# 流程控制 for循环
for i in 1 2 3 4 5 do echo "line:${i}" done
# line:1 line:2 line:3 line:4 line:5
for (( i=0; i<5; i++ )) do echo "new line: ${i}" done
# new line: 0 new line: 1 new line: 2 new line: 3 new line: 4
# 流程控制 while循环
i=1
while (( $i<5)) do echo "i=${i}" let "i++" done
# i=1 i=2 i=3 i=4
# 无限循环 for (( ; ; ))
# while : do command done
# while true do command done
# break跳出循环;continue继续下一次循环
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
参考
Shell学习快速入门篇
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/81018926
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)