Shell 是用 C 语言编写的程序,便于用户与 Linux 内核系统进行交互。
Linux 的 Shell 种类众多,常见的有:
Bourne Again Shell (Bash) 由于易用和免费,在日常中被广泛使用。同时也是大多数 Linux 系统默认的 Shell。
第一个 Shell 脚本
使用文本编辑器 vi/vim ,新建一个文件 kimbo_test.sh, 扩展名. sh 代表 Shell。
ps: 扩展名并不影响脚本执行,用于标识(见名知意)
- #!/bin/bash
- echo "Hello World!"
"#!" 是一个约定标记,告诉系统需要什么解释器执行,即使用哪一种 Shell
Shell 只有单行注释,使用符号 "#"
Shell 变量
1. 定义:必须使用字母、下划线
2. 使用: 用美元符号 "$" ,加上变量名
- #!/bin/bash
- ## 定义变量
- my_name="kimbo"
- ## 打印变量
- echo ${my_name}
说明:大括号用来表明变量的边界,也可以 直接使用 $my_name 。为了可读性、防止歧义,建议使用大括号
Shell 字符串
单引号:属于强引用,任何字符都会原样输出
双引号:属于弱引用,可以解析变量、转义字符 (尽可能使用双引号)
- #!/bin/bash
- ## 定义变量
- my_name="kimbo"
- my_work="data analysis"
- ## 拼接变量
- my_result="my name is ${my_name},my work is ${my_work}."
- ## 打印变量
- echo ${my_result}
2. 获取字符串长度
- #!/bin/bash
- ## 定义变量
- my_name="kimbo"
- ## 打印变量,取字符串长度
- echo ${#my_name}
3. 截取部分字符
语法:${str:start:len},start 表示从哪里开始截取,len 表示 总共截取多少位。
- #!/bin/bash
- ## 定义变量
- my_name="kimbo"
- ## 打印变量,从左边第2个字符开始,截取3位
- echo ${my_name:1:3}
4. 其他截取方式
语法:
${var#*str} 最小限度从左边截取 str
${var##*str} 最大限度从左边截取 str
${var%str*} 最小限度从右边截取 str
${var%%str*} 最大限度从右边截取 str
- #!/bin/bash
- ##定义变量
- my_website="https://www.cnblogs.com//kimbo"
- ## 打印变量
- echo "var is: ${my_website}"
- ## 从左边开始查找,截取右边的字符(保留后面)
- ## 最小限度
- echo "1: ${my_website#*//}"
- ## 最大限度
- echo "2: ${my_website##*//}"
- ## 从右边开始查找,截取左边的字符(保留前面)
- ## 最小限度
- echo "3: ${my_website%//*}"
- ## 最大限度
- echo "4: ${my_website%%//*}"
运行结果:
来源: