Linux shell Script初识
shell secript:
执行方式的差异:
./ sh执行都是在创建一个子程序来执行,只会继承环境变量,
其中的变量如果export声明,子程序的子程序会继承,不会升级为环境变量
source 的执行方式是把脚本放到父程序的环境执行,
其中的变量如果export声明,会升级成环境变量
test判断,[]判断是一样的,建议使用[]的判断方式




默认变量($0, $1......)
$,$....位置变量,代表参数
$#:代表参数的个数
$@:代表参数"$1""$2""$3""$4"
$*:代表"$1c$2c$3c$4",其中c为分隔符,默认是空白
shift:变量偏移
每执行一次,判断的位置向右移动一个
条件判断:
if [ 条件判断式 ];then
内容
fi
&&代表AND; ||代表or
-a:代表and; -o代表or
if [ 条件判断式 ];then
内容
elif [ 条件判断式 ];then
内容
fi
利用case .... esac判断
case $变量 in
"第一个变量内容")
程序段
;;
"第二个变量内容")
程序段
;;
"*")
exit 1
;;
esac
循环:
while do done
while [ condition ]
do
程序段
done
当condition成立时,就执行循环,不成立则停止
until [ condition ]
do
程序段
done
当condition成立时,就立则停止,不成立,则循环
for ... do ...done
for var in con1 con2 con3
do
程序段
done
数值处理
for((初始值; 限制值; 执行步骤))
do
程序段
done
乱数与阵列array
${RANDOM} 的取值范围[0,32767]
#!/bin/bash
#
e[1]="aaa"
e[2]="bbb"
e[3]="ccc"
en=3
check=$(( ${RANDOM} * ${en} / 32767 + 1))
echo ${e[${check}]}
function函数:
function fname(){
程序段
}
函数也具有位置变量,$0,$1,$2
shell script的debug
sh:
-n:不要执行script,仅查询语法问题
-v:在执行前,把script内容输出到屏幕上
-x:将使用到的script内容显示在屏幕上
Linux shell Script初识的更多相关文章
- 一个改动配置文件的linux shell script
不久以前,以前搜到一篇博客是读取配置文件的,http://www.cnblogs.com/bo083/archive/2012/11/19/2777076.html,用到如今,感觉十分方便.感谢作者. ...
- Linux shell script All In One
Linux shell script All In One refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- Linux Shell Script目录
目录 Linux Shell基础 开始Shell编程 代码 示例代码查看:https://github.com/Furzoom/demo-C/tree/master/src/shell
- Linux Shell(初识)
什么是Shell:Shell是一个命令解释器. Linux下支持shell的种类: 1. Bourne Shell(简称sh) 2.C Shell(简称csh) 3.Korn Shell(简称ksh ...
- fastq to tasta using linux shell script
#!/bin/bash usage() { echo " "; echo "############################################### ...
- (copy) Shell Script to Check Linux System Health
source: http://linoxide.com/linux-shell-script/shell-script-check-linux-system-health/ This article ...
- Shell script for logging cpu and memory usage of a Linux process
Shell script for logging cpu and memory usage of a Linux process http://www.unix.com/shell-programmi ...
- (原创)鸟哥linux学习script shell相关笔记
在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...
- linux基础之Shell Script入门介绍
本文介绍下,学习shell script编程的入门知识,通过几个入门实例,带领大家走进shell script的神圣殿堂,呵呵,有需要的朋友参考下. 本文转自:http://www.jbxue.com ...
随机推荐
- bootstrap 网格
实现原理 网格系统的实现原理非常简单,仅仅是通过定义容器大小,平分12份(也有平分成24份或32份,但12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的响应式网格系统.Bootst ...
- 异常依然执行{try..catch语句块..}的后续代码
测试异常依然执行{try..catch语句块..}的后续代码: private static Integer testThrows() throws Exception{ Integer result ...
- Python笔记_第四篇_高阶编程_进程、线程、协程_3.进程vs线程
1.多任务的实现原理: 通常我们会设计Mater-Workder模式,Master负责分配任务,Worker负责执行任务,因此多任务环境下,通常是一个Master,多个Worker 2.多进程: 主进 ...
- 为什么在SSM中的dao层不用写@Repository注解
1. Mybatis 接口编程中dao 层接口没有注解和 为什么能被实例化为bean? 在Spring配置Mybatis的文件中我们可以看到如下代码: <bean class="or ...
- Java Properties基础知识总结
在Java语言中,使用一种以.properties为扩展名的文本文件作为资源文件,该类型的文件的内容格式为类似: some_key=some_value #注释描述 还有一种是使用xml文件保存项目的 ...
- 通过编写c语言程序,运行时实现打印另一个程序的源代码和行号
2017年6月1日程序编写说明: 1.实现行号的打印,实现代码的读取和输出,理解主函数中的参数含义. 2.对fgets函数理解不够 3.对return(1); return 0的含义理解不够 4.未实 ...
- [原]你知道怎么使用DebugView查看内核调试信息吗?
原总结注册表sysinternalsdebugviewprocess explorerprocess monitor 简介 DebugView是sysinternals工具集中的一款用来查看调试信息的 ...
- python编程:从入门到实践----第六章:字典>练习
6-1 人:使用一个字典来存储一个熟人的信息,包括名.姓.年龄和居住的城市.该字典应包含键first_name .last_name .age 和city .将存储在该字典中的每项信息都打印出来. f ...
- JDK8新特性之stream
stream中有很多方法,讲一些常用的. 1.forEach(),遍历方法,很简单,对于一般的遍历可以替代for循环 List<String> strings = Arrays.asLis ...
- Java 实现 栈
package Test; import java.util.*; public class Stack_test { public static void main(String[] args) { ...