shell编程
fork炸弹
假如在终端上输入
:(){:|:&};:
那么电脑将会死机,原因是资源会被耗尽
详细的代码说明
func()
{
func|func&
};
func
func&
会在后台运行一个func
的函数最后会消耗尽系统的资源
shell基础
hello_world
#!/bin/bash
echo "hello_world"
shell脚本结构以及执行方法
开头行指定bash路径:
#! /bin/bash
以#开头的行作为解释说明
脚本的名字以.sh
结尾,用于区分这是一个shell脚本还有的情况是
#!/bin/sh
#!/bin/ksh
#!/usr/bin/php
执行方式有两种:
chmod +x 1.sh
;./1.sh
如果没有执行权限可以bash 1.sh
bash -x 1.sh
可以查看脚本执行过程
shell的控制语句
分别为
case
,until
语句
case 语句
#!/bin/bash
read VAR
case $VAR in
1) echo "ONE"
;;
2) echo "TWO"
;;
*) echo "UNKNOW"
;;
esac
until语句
until
直到意思,(像C语言的while
)
#!/bin/bash
declare -i n=0
until [ $n -gt 100 ]
do
echo "$n"
n=$n+1
done
declare -i
是为对编译器说声明为整数
有declare -i
则打印 1 到 100
若无declare -i
则打印很多个 +1
计算数字也可以这样
#!/bin/bash
declare -i n=1
declare -i a=1
declare -i b=2
until [ $n -gt 100 ]
do
c=$(($a+$b))
a=$(($a+$b))
a=$[$a+$b]
echo $c
n=$n+1
done
a=$(($a+$b))
或是
a=$[$a+$b]