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下shell脚本的基础知识,包括运行机制、编写第一个脚本、执行方式、变量定义与引用、字符串引用规则、调用Linux命令、if语句、逻辑运算符、循环结构、文件操作及参数传递等。通过实例讲解,帮助读者快速掌握shell脚本编写技巧。
1万+

被折叠的 条评论
为什么被折叠?



