linux shell编程基础知识

98 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

=============================

什么叫shell脚本?

把完成一个任务的所有命令,按照先后顺序,自上而下写在一个文本文件里,给予执行权限去执行。

^代表行首$代表行尾

但是在正则表达式中[^f]表示反选就是除了f以外匹配到的!

EOF:代表 [ 或者 ]

bc : Linux微型计算器

scale=2 : 支持小数点

seq

按照指定格式 num%03g 格式输出。num 为前置字符串,%03g 表示数字宽度为 3,不足前置补 0。

[root@localhost ~]# seq -s ":::" -f "%03g" 98 101

098:::099:::100:::101

定时脚本

#!/bin/bash

for time in `seq 9 -1 0`;do

echo -n -e "\b$time"

sleep 1

done

echo

shell 基本输入

read命令

​编辑

变量分类

本地变量:用户私有变量,只有本用户可以使用,保存在家目录下是的.bash_profile、.bashrc文件中

全局变量:所有用户都可以使用,保存在/etc/bashrc文件中

用户自定义变量:用户自定义,比如脚本中的变量

定义变量

​编辑

取消变量unset

定义全局变量 export

定义数组

array=(1 2 3)

数组读出

${数组名称[索引]}

查看数组

declare -a

访问数组元素

# echo ${array1[0]}访问数组中的第一个元素

# echo {array1\[@\]}访问数组中所有元素等同于echo {array1[*]}# echo ${#array1[@]}统计数组元素的个数

# echo {(!array2\[@\]}获取数组元素的索引# echo {array1[@]:1}从数组下标1开始

# echo ${array1[@]:1:2}从数组下标1开始,访问两个元素

声明一个关联数组

declare -A ass_array1

脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用选项-e

格式:echo “\033”[背景颜色; 文字颜色m字符串\033[0m"

例如

1:背景颜色和文字颜色之间的英文的""

2:文字颜色后面有个m

3:字符串前后可以没有空格,如果有的话,输出也是同样有空格

#下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配

#例:带m的是字体色,不带m是背景色;字体色要写在背景色后面

/033[0m #关闭所有属性 
/033[1m #设置高亮度 
/033[4m #下划线 
/033[5m #闪烁 
/033[7m #反显 
/033[8m #消隐

shell指令字符

​编辑

shell逻辑运算符

​编辑

shell编程特殊变量与函数语法

​编辑

shell-if判断

​编辑

shell编程for循环语句

​编辑

shell编程while与case循环语句

​编辑

seq命令

按照指定格式 num%03g 格式输出。num 为前置字符串,%03g 表示数字宽度为 3,不足前置补 0。

[root@localhost ~]# seq -s ":::" -f "%03g" 98 101

098:::099:::100:::101

seq案例定时脚本

#!/bin/bash
for time in `seq 9 -1 0`;do
        echo -n -e "\b$time"
        sleep 1
done

echo