01 Shell基础

发布时间 2023-03-29 19:32:32作者: 老钱学技术

Shell语言基础

Shell定义

Shell又称命令解释器,能够识别用户输入的各种命令,并传递给操作系统。在UNIX或Linux中,Shell既是用户交互的界面,也是控制系统的脚本语言

Shell的分类

  • Bourne Shell:标识为sh,在许多Unix系统中,该Shell是root用户默认的Shell
  • Bourne-Again Shell:标识为bash,是绝大多数Linux发行版的默认Shell
  • Korn Shell:标识为ksh
  • C Shell:标识为csh

Shell的执行

通常情况下,Shell脚本程序有两种执行方式:交互式执行和作为程序文件执行

交互式程序

# for filename in 'ls .'
> do
> if echo "$filename" | grep "xml"
> then
> echo "$filename"
> fi
> done

创建脚本文件

#指定解释器
#! /bin/sh

#for循环开始
for filename in 'ls .'
do
    #如果文件名包含xml
	 if echo "$filename" | grep "xml"
	 then
	     #输出文件名
		 echo "$filename"
	fi
done

Shell脚本参数

从命令行传递给Shell脚本的参数又成为位置参数,Shell会根据参数的位置接收它们的值

常用的与参数传递有关的系统变量常用的与参数传递有关的系统变量
变量 说明
$n 表示传递给脚本的第n个参数,如$1表示第一个参数
$# 命令行参数的个数
$0 当前脚本的名称
$* 以“参数1 参数2 参数3...”的形式返回所有参数的值
$@ 以“参数1”“参数2”“参数3”...的形式返回所有参数的值
$_ 保存之前执行的命令的最后一个参数

Shell参数扩展

参数扩展是通过选项名称来获取选项的值,而不是依靠参数的位置。用户可以通过getopts命令来获取选项的值