Shell 编程详解
部分引用自:https://blog.csdn.net/qq_22075977/article/details/75209149 一、概述 Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并把它送入内核去执行。内核是Linux系统的心脏,从开机自检就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存。Shell是一种应用程序,当用户登录Linux系统时,Shell就会被调入内存去执行。Shell独立于内核,它是连接内核和应用程序的桥梁,并由输入设备读取命令,再将其转为计算机可以理解的机械码,Linux内核才能执行该命令。 二、优势 1、语法和结构通常比较简单。 三、变量 1、用户自定义变量 这种变量只支持字符串类型,不支持其他字符,浮点等类型,常见有这 3 个前缀: a、unset:删除变量? b、readonly:标记只读变量 c、export:指定全局变量 #!/bin/bash echo "定义普通变量" CITY=CHENGDU echo "定义全局变量" export NAME=cdeveloper echo "定义只读变量" readonly AGE=21 echo "打印变量的值" echo $CITY echo $NAME echo $AGE echo "删除 CITY 变量" unset CITY # 不会输出 CHENGDU echo $CITY 运行结果: 定义普通变量 定义全局变量 定义只读变量 打印变量的值 CHENGDU cdeveloper 21 删除 CITY 变量 2、预定义变量 预定义变量常用来获取命令行的输入,有下面这些: a、$0 :脚本文件名 编辑脚本1.sh #!/bin/bash echo "print $" echo "1、打印脚本文件名$0" echo -e "$0 = $0 n" echo "2、打印第一个命令行参数$1" echo -e "$1 = $1n" echo "3、打印第二个命令行参数$2" echo -e "$2 = $2n" echo "4、打印命令行参数个数$#" echo -e "$# = $#n" echo "5、打印所有命令行参数[email?protected]" echo -e "[email?protected] = [email?protected]n" echo "6、打印所有命令行参数" echo -e "$* = $*n" echo "7、打印前一个命令的退出状态" echo -e "$? = $?n" echo "8、打印执行的进程ID" echo "$$ = $$" 执行结果: print $ 1、打印脚本文件名1.sh $0 = 1.sh 2、打印第一个命令行参数1 $1 = 1 3、打印第二个命令行参数2 $2 = 2 4、打印命令行参数个数4 $# = 4 5、打印所有命令行参数1 2 3 4 [email?protected] = 1 2 3 4 6、打印所有命令行参数 $* = 1 2 3 4 7、打印前一个命令的退出状态 $? = 0 8、打印执行的进程ID $$ = 30839 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |