Bash scripts-I
来源:互联网 发布:淘宝狗粮店铺简介文案 编辑:程序博客网 时间:2024/06/06 17:08
BASH = GNU Bourne-Again Shell,BASH 是 GNU 组织开发和推广的一个项目。
Bash脚本类似批处理,简单来讲就是把许多的指令集合在一起,并提供循环、
条件、判断等重要功能,语法简单实用,用以编写程序,大大简化管理员的操
作,并可以完成图形工具所无法实现的功能。
如何创建新shell脚本?
1创建包含bash命令的文本文件。文件的第一行应为:
#!/bin/bash
- 使文件可执行(使用chmod +x scripts)
- 将文件放置在用户的$PATH的目录中
~/bin – 用于用户的私有程序/usr/local/bin – 本地开发、系统上的其他人使用的脚本/usr/local/sbin - 本地开发、由root使用的脚本直接运行脚本和使用source命令运行脚本是不同的!脚本调试模式:#!/bin/bash -x# bash -x scripts
引用和转义
引用和转义在shell解析字符串时用于去除字符串中特殊字符或保留词语的特殊含义。这会导致按字
面处理字符串,而不是展开变量或将其部分内容视作具有特殊含义。
引用有三种类型:
弱引用将字符串放置在双引号中,保留字符串中所有字符的文字值,$、`、\和!字符除外。换言之,变量扩展和命令扩展在双引号内仍起作用。echo “can I have a $FRUIT”echo “The current time is $(date +%r).”强引用将字符串放置在单引号中,保留字符串中所有字符的文字值,同时禁用所有扩展:echo “Make $$$ Fast”rm 'untitled folder'转义非引用的\是转义字符。它保留了下一个字符的文字值。(例如,\$PATH是确切的字符串$PATH,而不是PATH变量的内容。)echo Make \$\$\$ Fast\!ls untitled\ folder
Shell变量
shell变量用于为稍后在脚本中使用的名称指定值,并且仅限于shell命令行或从中声明变
量的脚本。
若要定义或指定值:FRUIT=apple若要参考或使用变量:$FRUIT${FRUIT}命令替换命令替换在子shell中执行指定命令并用命令输出替换脚本中的命令替换。语法:$(shell command)
算术运算符
算术运算符指的是可以在程序中实现加、减、乘、除等数学运算的运算符。
<VARIABLE>++ 增量后<VARIABLE>-- 减量后- 减法+ 加法** 幂运算* 乘法/ 除法% 余数+= 加等-= 减等10Shell计算命令:用$[]表示数学运算。# echo $[1+2]# a=1; echo $[$[$a+1]*2]用expr表示数学运算。# echo `expr 1 + 2`用let指示数学运算。# let A=1+2# echo $A用(())表示数学运算。bash内建功能,效率高。#!/bin/bashfor ((i=1;i<10;i++))do((j+=i))doneecho $j
循环
for循环用于值列表中的相同命令的重复。
[root@server0 ~]# for HOST in host{1..3};do echo HOST;done
host1
host2
host3
[root@server0 ~]# for NUM in(seq 2 2 8);do echo $NUM;done
2
4
6
8
循环与计算结合:
#!/bin/bashfor ((i=1;i<=100;i++))do((j+=i))#j=`expr $j + $i`#let j+=i#j=$[j+=i]doneecho $j也可以写成一行:# for((i=0; i<=100; i++));do j=`expr $j + $i` ;done;echo $j
13数据库备份示例:
#!/bin/bashfor DB in $(mysql -e "SHOW DATABASES;" -E -N | grep '^*' -v | grep 'schema$' -v)do echo "Database "$DB" is Backingup" mysqldump $DB > /backup/$DB.$(date +%Y-%m-%d~%H)done echo "Backup successful" echo " "for DBSIZE in /backup/*do SIZE=$(stat --printf "%s\n" $DBSIZE) echo "$DBSIZE$SIZE"done
阅读全文
0 0
- Bash Scripts-I
- Bash Scripts基础I
- Bash scripts-I
- Bash Scripts(Bash 脚本)I
- Bash Scripts
- Linux运维笔记----Bash Scripts基础I
- Bash Scripts基础II
- unit10-Bash scripts 1
- Bash Scripts-II
- Bash Scripts ---part1
- Bash Scripts ---part2
- Bash scripts-II
- 【Linux】bash shell scripts
- Bash Guid : Bash and Bash Scripts (1.1)
- Writing Robust Bash Shell Scripts
- op08-bash scripts config files
- Linux学习笔记 --Bash Scripts
- Using Bash shell scripts for function testing
- PS-Lite源码分析
- docker镜像下载加速
- Top k
- JavaScript学习之排序
- web页面如何实现点击按钮进行手机拨号?
- Bash scripts-I
- CSAPP笔记
- 主题七 最终的胜利----41.C语言程序员简历编写及面试技巧
- 简述MVC框架模式以及在你(Android)项目中的应用
- 小狗路程问题
- 为RecyclerView添加item的点击事件(个人备忘录)
- 自己写程序利用lenet模型识别手写数字
- Vue.js官方文档摘记
- 安卓登陆与注册