shell script快速入门-基础语法

简介: shell script快速入门-基础语法

第一个脚本


sh01.sh


#!/bin/bash
echo "hello"

执行bash sh01.sh


区别

source: 父进程中执行
bash:子进程中执行

编辑器

推荐使用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"

说明:

第一行 #! 声明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!"

基础语法

#!/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继续下一次循环

参考

Shell学习快速入门篇



相关文章
|
6月前
|
Shell 开发工具
学习简单的shell script
【1月更文挑战第3天】学习简单的shell script。
102 3
|
2月前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
63 18
|
3月前
|
Shell
Shell语法全解
Shell语法全解
24 1
|
人工智能 Shell Linux
shell基础语法
shell基础语法
78 1
|
6月前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
|
6月前
|
存储 Unix Shell
shell语法总结
以上是Shell脚本语言的基本要点,它可以帮助你在命令行中自动化执行任务和操作系统。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
37 3
|
6月前
|
Shell Perl
shell学习(十) 【shell awk基本语法】
shell学习(十) 【shell awk基本语法】
33 1
|
6月前
|
监控 Shell
shell学习(五) 【循环控制continue,break、while 语法】
shell学习(五) 【循环控制continue,break、while 语法】
35 0
|
6月前
|
Shell 应用服务中间件 开发工具
shell 学习(二) shell语法【特殊字符、转义字符、shell 字体颜色和字体背景】
shell 学习(二) shell语法【特殊字符、转义字符、shell 字体颜色和字体背景】
35 0
|
6月前
|
Shell
shell 学习(四)【if语法 for循环控制】
shell 学习(四)【if语法 for循环控制】
42 0