Linux下的shell脚本(bash,sh)简单介绍 学习笔记
2020-07-15 04:33
85 查看
1 shell脚本的运行机制
解释运行,无需编译链接.
2 第一个shell脚本
hello.sh
#!/bin/sh echo "hello.world"
#为注释符,第一句表示shell程序被/bin目录下的sh解释器执行.
第二句 echo 相当于printf .
3 Linux下执行shell脚本的三种方法
- ./hello.sh
- source hello.sh
- bash hello.sh (bash是脚本解释器)
输出结果是
hello.world
4 shell中的变量定义和引用
- shell是弱类型语言,直接定义并赋值(用=号)即可,不需加类型,并且赋值时不能有空格.
- 变量定义后可以再次赋值,覆盖前面的值
- 变量引用要$号, $var 或者 ${var}
5 shell中无引号,单引号和双引号区别
- 无引号和单引号,双引号均可以用来输出字符串
- 但是无引号和单引号不能输出转义字符和 “
6 shell中调用linux命令
使用 反引号``括起来或者直接执行
7 shell中的if语句
if [ -f a.txt ];then echo "yes" else echo "no" touch a.txt fi
如果存在a.txt文件则打印yes ,不存在则打印no,并创建a.txt
8 shell中的逻辑与&&和逻辑或||与简写if表达式相结合
str=" " [ -z $str ] || echo "fei kong" #-z表示字符串是否为空。如果str为空(前面为真) ,后面不执行。 逻辑或:前面为真后面不执行 [ -z $str ] && echo "kong" #如果str非空(前面为假) ,后面不执行。 逻辑与:前面为假,后面不执行
9 shell中的for循环和while循环
for i in `ls` do echo $i done
打印当前文件列表
i=1 j=5 while [ $i -lt $j ] #-lt表示小于 do echo $i i=$(($i + 1)) #i++ done
结果打印出1,2,3,4
10 使用echo创建和追加输入文件
- 使用echo创建一个新文件并使用 “>” 将一些内容传入文件
- 使用echo和">>"追加内容到文件
echo "#include <stdio.h> int main(void) { return 0; }" > a.c echo "test" >> a.c
结果是创建了a.c文件,文件内容如下:
#include <stdio.h> int main(void) { return 0; } test
11 case语句
case语句执行完一个选择后自动退出case(每个选择自带break)
i=1 case $i in 1) echo "1";; 2) echo "2";; esac
12 shell传参
-
内置特定符号表示参数
$#:表示调用shell时传参个数(只算有效参数,$0不算);
$0:执行这个shell程序的解析程序的名字;
$1, $2…:表示传递个各有效参数; -
shift指令可以移除当前第一个有效参数
echo $# $0 $1 $2 shift echo $# $0 $1 $2
传进两个参数a,b,结果如下:
yt@yt-virtual-machine:/mnt/hgfs/Share_Linux/shell_case$ ./shell.c a b 2 ./shell.c a b 1 ./shell.c b
相关文章推荐
- Linux学习笔记:bash特性之多命令执行,shell脚本
- Linux系统命令及Shell脚本学习笔记二:用户管理
- linux学习笔记—shell脚本执行方式
- Liunx 命令行与shell脚本编程大全 第八章学习笔记(Linux系统的包管理基础)
- 笔记:Shell脚本文件报错:-bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory
- Linux系统命令及Shell脚本学习笔记五:字符处理
- 嵌入式开发之linux基础第六天学习笔记 shell脚本编程(一)
- linux学习第六十三篇:Shell脚本介绍,Shell脚本结构和执行,date命令用法,Shell脚本中的变量
- Linux学习之shell脚本的简单使用
- Linux命令与shell脚本编程学习笔记-16创建函数
- linux学习笔记之shell介绍及其他命令
- linux学习笔记--工程师技术:shell脚本基础
- [shell]Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别
- Linux学习笔记(10)——编写Shell脚本
- shell学习笔记(2) 一个简单的shell脚本程序
- 学习笔记 linux 编译文件用shell脚本实现
- Linux学习之道: ubuntu下source、sh、bash、./执行脚本的区别
- Linux之ubuntu学习笔记(九):shell 脚本
- 【sehll学习】linux运维一个简单shell脚本监控系统内存
- Linux命令shell脚本编程学习笔记-18章初识sed和gawk