shell基础知识

【记录一点点shell编程的东西 ,这是关于shell编程的一丁点知识点】

shell变量的使用

shell 是一种解释性脚本语言,shell也支持变量的使用,shell变量中的变量有很多类型,一是环境变量,可以在shell中使用$Z环境变量名称进行引用,二是用户自定义环境变量,三是系统全局变量,这些变量代表了特定的含义。不能为用户所修改.

主要的全局变量包括一下几个:

$#:执行shell脚本时命令行参数的个数,不包括脚本本身
$?:执行上一条shell命令的返回值
$0:shell脚本程序自身的名称

shell脚本的名命名规则

用户在自定义自己的变量的时候,要遵循的命名规则。

shell的运算符

+ :加

- :    减

\*:    乘

/ :  除

::两个字符串机型相比较,如果两个字符串相等则返回字符串的长度,否则返回0

<=,>=,<,>,

& , |

除去expr命令外还有test命令用于逻辑测试。可以用test命令进行测试的情况,包括以下几种

使用test进行逻辑比较

1.判断两个整数之间是否相等

#!/bin/bash
int1=3
int2=5
  if test $int1 -eq $int2
then echo "两者相等"
else echo "两者不等"
fi

2.字符串测试运算

#!/bin/bash
string="string字符串"
stringnull
if test -z string #判断字符串的长度是否为空
then echo "string的长度为空"
else echo "长度不为空"
fi
if test stringnull = string #注意空格的使用
then echo "两者相等"
else echo "两者不等"
fi

文件测试运算

test -x filename :判断用户是否具有执行的权限
test -r/-w filename
test -f filename判断是否时普通文件
test -d filename判断是否时目录

测试:在sum文件下有一个test.sh的文件。我们写个脚本输出sum文件下test.sh文件的权限

#!/bin/bash
path="/root/Desktop/sum"  #目录所在路径
filename="/root/Desktop/sum/test.sh"
if test -d $path
then
echo "$path是一个目录"
cd $path
echo  "下的文件"
ls
echo "test.sh 我们有的权限为"
if test -x $filename
then echo "具有执行的权限"
else echo "没有执行的权限"
fi


else echo "$path不是一个目录"
fi


 

 

 

 

 

 

 

 

 

posted @ 2018-07-24 18:49  sunchongwei  阅读(92)  评论(0编辑  收藏  举报