shell脚本基础1

之前好多东西我们都放在我们的阿里云服务器上,我们每次操作都要打开终端,一行一行命令搞,如果我们公司要求做一个模拟10万用户并发的场景,难道我们还需要搭建50遍服务器吗?答案是:否定的。

我们没有时间那么搞我们怎么搞呢,我们可以通过shell脚本来操作我们的终端,来简化我们的操作

在这里我们从基础的shell开始深入,怎么深入呢,当然特别基础,哈哈哈

正题:

#!/usr/bin/expect
#shell语言有多种,最起码有五种,常用的是
#1.Bourne Shell(/usr/bin/sh或bin/sh)
#2.Bourne Again Shell(/bin/bash)
#3.C Shell(/usr/bin/ksh)
#4. K Shell(/usr/bin/ksh)
#5. Shell for Root(/sbin/sh)
#6./usr/bin/expect
#输入内容到控制台
echo  "Hello World"
#定义一个变量name
name="张三"
#输出变量/使用变量
echo $name
#只读变量 关键字readonly变量名字
readonly name1="李四"
#修改变量
name="王五"
echo $name
##只读变量是不能修改和删除的
#name1="赵六"
#echo $name1
#删除变量
unset name
echo $name
#定义一个省份
privice="北京"
address="这里是首都"$privice""
#双引号可以引用变量,但是单引号只能是字符串
echo $address
#字符串切换 下标是从0开始的,左右都包含
echo ${address:1:4}
#shell中数组的定位 标识符()元素之间用空格分开
ages=(12 35 88 96 43)
#读取数组$(数组名字 下标)
#取数组里面第0个数组
echo ${ages[0]}
#获取数组的长度${#array_name[@]}
echo ${#ages[*]}
#典型的字符串截取
url="http://www.baidu.com"
#截取字符串
echo ${url#*www}
#方法
getName(){
    echo “这是一个方法”
}
getName
#算数运算符+ - = * / % = != ==
#设置变量a和b
a=10
b=10
#if判断语句后面必须跟空格
if [ $a == $b ]
then
echo ""$a"和"$b"相等"
fi
#算数运算符 注意=左右是不能有空格的
sum=`expr $a+$b`
echo "和是$sum"
sum=`expr $a-$b`
echo $sum
#乘法的时候前面会多\
consult=`expr $a\*$b`
echo $consult
#关系运算符
#1.-eq检测两个数是不是相等
#2.-ne检测两个数是否相等,不相等返回true
#3.-gt检测左边的数是否大于右边的,如果是,则返回true
#4.-lt检测左边的数是否小于右边的,如果是,则返回true
#5.-ge检测左边的数是否大于等于右边的,如果是,则返回true
#6.-le检测左边的数是否小于等于右边的,如果是,则返回true
if [ $a -eq $b ]
then
echo "两个相等"
fi
#大于等于右边的 -ge
if [ $a -ge $b ]
then
echo "大于等于执行"
fi
#布尔运算符与-a 或 -o非!
#1.与运算,两个表达式都为 true 才返回 true
if [ $a==10 -a $b==10 ]
then
echo "两个条件都没问题"
fi
#2.只要满足一个条件就可以-o
if [ $a==10 -o $b==9 ]
then
echo "满足其中一个条件"
fi
#非相反的
if [ $a!=9 ]
then
echo "不等于9"
fi
#字符串运算符 必须包含在【】里面
#&&两个成立才返回true
#||只要其中一个成立就返回true
if [[ $a==10||$b==8 ]]
then
echo "其中一个成立"
fi
#字符串运算符
#1.=
#2.!=
#3.-z
#4.-n
#5.str
#文件测试运算符
#1.-d file 检测文件是不是目录,如果是目录就返回true
filename="/Users/yuliguo/Desktop/"
if [ -d$filename ]
then
echo "这是目录结构"
fi
#2.检测是不是文件,如果是文件,返回true,如果不是文件返回false -f file
filename1="/Users/yuliguo/Desktop/yuliguo.sh"
if [ -f$filename1 ]
then
echo "这是一个普通文件"
fi
#3.检测文件是不是可读-r file
if [ -r$filename1 ]
then
echo "这个文件可读"
fi
#4.检测文件是不是可写 -w file
if [ -w$filename1 ]
then
echo "文件可写"
fi
#5.检测文件是不是可执行 -x file
if [ -x$filename1 ]
then
echo "文件可执行"
fi
#6.检测文件是不是为空,不为空,返回true -s file
if [ -s$filename1 ]
then
 echo "文件不是空的"
fi

#7.检测文件是不是存在,如果存在返回true
if [ -e$filename1 ]
then
echo "文件是存在的"
fi
#输出一个带有双引号的内容
echo "\"我是钢铁侠,我怕谁"\"
#不写双引号写可以输出
echo 中国,平安
#输入内容到文件>一个表示覆盖以前内容>>表示后面追加
echo "中国晚安!">yu
echo 我爱你世界>>yu
#printf用来输入内容 -左对齐 s 字符串 f小数点 d整数
printf "%-10s %-4.2f %-10s" 李明 89.226 155

注意:一定要注意:空格 空格错了一样报错,我们编写的这个文件是.sh文件结尾的,如果打不开可以尝试使用xcode在app store中有免费哦。我们这个在终端进行运行

命令:我们找到我们这个.sh文件的位置,然后sh.wenjian.sh进行运行就ok了

最后附上菜鸟教程上的链接,上面比较详细哦点击打开链接http://www.runoob.com/linux/linux-shell.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值