shell脚本学习笔记
来源:互联网 发布:vnc远程控制软件linux 编辑:程序博客网 时间:2024/04/29 16:57
#!/bin/bash
# Program
# This program shows "Hello World"
#v1是一个String类型,“=”左右两边不能加上空格。否则将视为命令执行。
v1=centos
echo $v1
#v2也是一个String类型,如果这个String类型有空格,需要用引号
v2="this is a shell"
echo $v2
v3=10
v4=20
echo $v3
echo $v4
# 输出: 10+20
v5=$v3+$v4
echo $v5
# 加减乘除的运算需要加上 $(( ))
# 输出:30
echo $(($v3+$v4))
# 输出:140
echo $((100-20+30*2))
# 计算v2这个字符串的长度,输出:15
echo ${#v2}
# 截取出从第2个字符后的所有字符,输出:is is a shell
echo ${v2:2}
# 从第2个字符后开始截取,截取出7个字符的长度.输出:is is a
echo ${v2:2:7}
str="I love you"
# 删除开始的字符串。输出:you
echo ${str#I love}
str2="I like apple,I like apple"
# 从开头删除最短匹配子串,输出:e apple,I like apple
echo ${str2#I*k}
# 从开头删除最长匹配子串,输出:e apple
echo ${str2##I*k}
# 从结尾删除最短匹配子串,输出:I like apple,I like
echo ${str2%a*e}
# 从结尾删除最长匹配子串,输出:I like
echo ${str2%%a*e}
------------------------------------------------------------------
或
if [ "$1" == 'ALL' ] || [ "$1" == 'B' ];then
echo "B"
fi
if [ "$1" == 'ALL' ] || [ "$1" == 'C' ];then
echo "C"
fi
------------------------------------------------------------------
filename=/data/myshell
# 判断文件是否存在,如果存在,输出'exist',如果不存在,输出'not exist'
test -f $filename && echo 'exist' || echo 'not exist'
# 判断目录是否存在
test -d $filename && echo 'exist' || echo 'not exist'
# 判断文件是否有读权限
test -r $filename && echo 'exist' || echo 'not exist'
# 判断文件是否有写权限
test -w $filename && echo 'exist' || echo 'not exist'
# 判断文件是否有执行权限
test -x $filename && echo 'exist' || echo 'not exist'
## []判断注意
# 1、在中括号中必须都要使用空格来分隔
# 2、在中括号中的变量,最好都以双引号括起来
# 3、在中括号中的常数,最好都以单引号括起来
# 例如:
a=1
# 注意:下面将[ "$a" == '1' ]改成["$a"=='1']会报错
[ "$a" == '1' ] && echo 'Yes' || echo 'No'
[ "$a" == '2' ] && echo 'Yes' || echo 'No'
[ "$a" != '2' ] && echo 'Yes' || echo 'No'
## 条件判断
# 单分支判断
# if[];then
# echo statement
# fi
# []表示判断,test也表示判断
# 采用[]的形式
if [ -f $filename ];then
echo 'The file is exist'
fi
# 采用test的形式
if test -f $filename;then
echo 'The file is exist'
fi
# 双分支判断
# if[];then
# echo statement
# else
# echo statement
# fi
# 多分支判断
# if[];then
# echo statement
# elif
# echo statement
# elif
# echo statement
# elif
# echo statement
# fi
----------------------------------------------------------------------
echo 'Please input an subject.'
read subject
case $subject in
java)
echo "Your subject name is $subject, subject id is 1";;
c++)
echo "Your subject name is $subject, subject id is 2";;
scala)
echo "Your subject name is $subject, subject id is 3";;
*)
echo "I dont know what you input";;
esac
-------------------------------------------------------------------------
function print() {
echo "Your input is $1"
}
echo "This program will print your selection!"
case $1 in
"one")
print 1;;
"two")
print 2;;
"three")
print 3;;
*)
"Usage $0 {one|two|three}";;
esac
---------------------------------------------------------------------------
echo 'Please input your number.'
read number
if [ $number == 1 ];then
echo 'Your input number is 1.'
elif [ $number == 2 ];then
echo 'Your input number is 2.'
elif [ $number == 3 ];then
echo 'Your input number is 3.'
else
echo 'I dont know what your input.'
fi
----------------------------------------------------------------------------
echo 'Please input your hardware'
read hd
if [ "$hd" == 'cpu' ];then
echo 'Your cpu info is '
cat /proc/cpuinfo
elif [ "$hd" == 'mem' ];then
echo 'Your memory info is '
cat /proc/meminfo
elif [ "$hd" == 'hard' ];then
echo 'Your harddisk info is '
df -h
else
echo 'I dont know what you input.'
fi
--------------------------------------------------------------
echo "Please input a number"
read number
for((i=1;i<=$number;i++));do
echo $i
done;
--------------------------------------------------------------
#!/bin/bash
# [] -eq -ne -gt -ge -lt -le
# (()) == != > >= < <=
#推荐使用中括号
i=10
# while(($i>=5));do
while [ $i -ge 5 ];do
echo $i;
((i--));
done;
-----------------------------------------------------------------
if [ $# -ne 2 ]; then
echo "Not enough parameters"
exit 0
fi
if [ $1 -eq $2 ]; then
echo "$1 equals $2"
elif [ $1 -lt $2 ]; then
echo "$1 litter than $2"
elif [ $1 -gt $2 ]; then
echo "$1 greater than $2"
fi
------------------------------------------------------------------
# $0表示脚本文件的名称
echo $0
# $1表示第一个参数
echo $1
# $*这个程序的所有参数
echo $*
# $#这个程序的参数个数
echo $#
# $$这个程序的PID
echo $$
# $! 执行上一个后台命令的PID
echo $!
# $? 执行上一个命令的返回值.如果为0表示命令执行成功,非0表示执行失败。
echo $?
----------------------------------------------------------------
a=10
b=20
c=30
value1=`expr $a + $b + $c`
echo $value1
value2=$(($a+$b+$c))
echo $value2
value4=`expr $c / $b`
echo $value4
# 乘号*前面需要加上转义字符\
value5=`expr $c \* $b`
echo $value5
-------------------------------------------------------------------
for DAY in Sunday Monday Tuesday Wednesday Thursday Friday Saturday
do
echo "The day is: $DAY"
done
----------------------------------------------------------------------
crontab -e 定时任务执行:
#####以下是关于“烟草贷”##############
##每月第一天的凌晨1点更新烟草袋的价格总表
0 1 1 * * /bin/bash /data/work/ycd/bin/ycd_import_price.sh
##每月第二天的凌晨1点运行烟草贷的月报
0 1 2 * * /bin/bash /data/work/ycd/bin/ycd_offline.sh
##每周星期一的凌晨2点运行烟草贷预警(暂时不用)
##0 2 * * 1 /bin/bash /data/work/ycd/bin/ycd_offline_warn.sh
########## “烟草贷”结束 ###########
- SHELL脚本,学习笔记
- shell脚本学习笔记
- shell 脚本学习笔记
- shell脚本学习笔记
- shell脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- shell 脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- Shell脚本学习笔记
- shell脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- shell 脚本学习笔记
- shell脚本学习笔记
- 前端 根据文本框输入字符串长度 实时控制按钮可用或是不可用
- Jmeter属性和变量
- pandaboard的SD卡分区步骤
- jquery滚动条插件slimScroll
- db2常用业务
- shell脚本学习笔记
- T-SQL经典语句
- Mediator(中介者)设计模式
- Jmeter之HTTP Request Defaults
- linux下安装nginx
- ie7下子元素设置z-index无效的解决办法
- LeetCode:Merge Two Sorted Lists
- 异常的类型catch中不同的Exception
- Android LogCat日志过滤