linux shell基础

脚本的运行方式

1 . 直接给权限 直接运行脚本 chmod a+x test.sh 开启一个子线程 在子的线程中执行
2. 没有权限 通过bash 运行脚本 bash test.sh #! /bin/bash 不需要
3. 没有权限 通过 .source 运行 . source test.sh 是在当前shell环境中执行,变量是可以获得的

shell的概念

shell 是用户与内核的一种交互,是解释器.
shell的命令有:

1 linux 命令 /bin/sbin
2 内置命令 将一些常用的命令的 构造与 shell内部
3 实用程序 /usr/bin usr/sbin /usr/local /bin
4 用户程序(可执行的程序)和shell脚本

shell的主要版本:

bash 大多数的linux 默认的shell
ash linux 系统占用资源最少的一个shell只有24个命令.不常用 也不方便
sh 是UNIX的标准shell
ksh 是UNIX的标准
csh 是面向于c语言的脚本shell
格式:
cmd [option] [ arguments]

通配符
.* 匹配的任意字符和任何数目的字符
? 匹配单一数目的任意字符
[] 匹配[]之内的任意字符
[!] 匹配[]之外的任意字符,!表示 非的意思

第一个脚本程序

定义变量,
var =“value” 定义
$ {var} 取值 定义一个边界
$ var

#! /bin/bash
echo  "hello  world"
for  str  in "sadaffdfeee"
do 
	echo  "i am  good  an ${str}"
done


只读变量
#! /bin/bash
var ='22222'
readonly var  # 只读变量

删除变量
unset  var  #   unset  变量的名字
变量的类型
局部变量
环境变量
全局的变量
定义在shell中的变量  ,称为shell的局部变量
export  var  定义全局的变量,在父进程中可也使用

shell中的特殊变量
$0当前脚本的文件名
$1 ..n 给脚本的参数  1是第一个参数,第二个$2
$#  参数的个数
$?  命令的退出状态
$$  当前shell 的进程ID



命令行参数
#! /bin/bash
echo "file name $0"
echo "first bianliang $1"
echo "second bianliang $2"

. test.sh ww ee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值