shell编程(上)

来源:互联网 发布:还珠格格知画跳舞 编辑:程序博客网 时间:2024/06/12 09:25

shell编程

  • shell编程
      • fork炸弹
      • shell基础
      • shell脚本结构以及执行方法
      • shell的控制语句
        • case 语句
        • until语句
          • 计算数字也可以这样

fork炸弹

假如在终端上输入:(){:|:&};:那么电脑将会死机,原因是资源会被耗尽
详细的代码说明

func(){    func|func&};func

func& 会在后台运行一个func的函数最后会消耗尽系统的资源

shell基础

hello_world

#!/bin/bashecho "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/bashread VARcase $VAR in    1) echo "ONE"    ;;    2) echo "TWO"    ;;    *) echo "UNKNOW"    ;;esac

until语句

until直到意思,(像C语言的while

#!/bin/bashdeclare -i n=0until [ $n -gt 100 ]do    echo "$n"    n=$n+1done

declare -i是为对编译器说声明为整数
declare -i则打印 1 到 100
若无declare -i 则打印很多个 +1

计算数字也可以这样
#!/bin/bashdeclare -i n=1declare -i a=1declare -i b=2until [ $n -gt 100 ]do        c=$(($a+$b))        a=$(($a+$b))        a=$[$a+$b]        echo $c        n=$n+1done

a=$(($a+$b)) 或是
a=$[$a+$b]

0 0