shell 脚本

Linux的Shell种类众多,常见的有:BourneShell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、CShell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell forRoot(/sbin/sh),等等。在本文中,我们关注的重点是Bash,也就是Bourne AgainShell,由于易用和免费,Bash在日常工作中被广泛使用;同时,Bash也是大多数Linux系统默认的Shell。

利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:

1.1.1 开头

程序必须以下面的行开始(必须方在文件的第一行):

#!/bin/sh

1.1.2 注释

#print hello world in the console window

1.1.3 变量

#对变量赋值(注意等号前后不能有空格,因为加空格后a被认为是命令名而不是一个变量):
a="hello world"

# 现在打印变量a的内容:
echo "A is:"
echo $a

1.1.4 环境变量

由export关键字处理过的变量叫做环境变量。

#!/bin/sh

#print hello world in the console window

a="hello world"

echo "${a}s"
echo 'dirname'
if [ $# -lt 3 ]; then
echo "hello 1"
else
echo "hello 2"

fi

for file in $*; do
  if [ -f $file ];then
    echo $file
  else
   echo "${file} is not a file"
fi
done

Shell Script中if语句的条件部分要以分号来分隔。第三行中的[]表示条件测试,常用的条件测试有下面几种:

[ -f "$file" ] 判断$file是否是一个文件

[ $a -lt 3 ] 判断$a的值是否小于3,同样-gt和-le分别表示大于或小于等于

[ -x "$file" ] 判断$file是否存在且有可执行权限,同样-r测试文件可读性

[ -n "$a" ] 判断变量$a是否有值,测试空串用-z

[ "$a" = "$b" ] 判断$a和$b的取值是否相等

[ cond1 -a cond2 ] 判断cond1和cond2是否同时成立,-o表示cond1和cond2有一成立



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值