快速学习shell脚本语言
来源:互联网 发布:godaddy域名绑定ip 编辑:程序博客网 时间:2024/05/14 19:37
参考博客: http://see.xidian.edu.cn/cpp/view/6994.html
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支.
Shell有两种执行命令的方式:
- 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
- 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。
Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。
我们常用的linux中shell脚本解释器是bash
bash---linux
sh---unix
csh---linux中的tcsh
编译型语言: Fortran Ada Pascal C C++ Java
解释型语言: awk、Perl、Python、Ruby与Shell,执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行
开始写shell脚本语言
定义变量: e.G 直接写变量名和value,中间不需要空格
my_name="DongHaifeng" 注意: 变量名开始必须为字母,中间可以有下划线
只读变量:readonly my_name
输出变量时需要用$: echo $my_name
删除变量: unset my_name
运行shell脚本时有三种变量: 局部变量, 环境变量 , shell脚本变量
#用来注释语句
计算函数: expr
- #!/bin/bash
- val=`expr2+ 2`
- echo "Total value : $val"
shell字符串
$*输出所有的字符
$@ 输出所有的字符 ,单个输出
$#求字符串的长度
数组 array_num=(1 2 3 4)
value1=${array_num[2]} 取出单个元素
if else fi
case $num in
1)
;;
for a in 1 2 3 4
do
done
while[$count -lt 5]
sum=(($a + $b))
until[$count -eq 4]
......
break continue都可以在shell中书写
shell函数:
func1(){
sum=0
for a in 1 2 3 4
do
for b in 1 2 3 4
do
sum=`expr $sum + $a + $b`
done
done
return $sum
}
func1
ret=$?
echo "func1 is: $ret"
重定向:
abcdef > test.sh输出重定向
abcdef<test.sh输入重定向
shell文件包含: 一个shell中嵌套另一个shell执行文件
例如:
subscript.sh 嵌套在main.sh中
subscript.sh: url="http:---------------"
#!bin/bash
. ./subscript.sh
echo $url
- 快速学习shell脚本语言
- shell脚本语言学习笔记
- shell 脚本语言学习笔记
- shell脚本语言基本语法学习
- Linux脚本语言shell基础学习
- shell脚本语言学习笔记-2
- shell脚本语言学习笔记-3
- shell脚本语言学习笔记-4
- shell脚本语言学习0——概括
- 学习shell脚本语言之注意点
- shell脚本语言
- 脚本语言-Shell
- 快速的学习一门脚本语言
- shell脚本语言学习1——第一个shell脚本
- 脚本语言perl,shell,python学习论坛及网站
- Linux系统下shell脚本语言学习手册指南
- 脚本语言学习
- shell脚本语言简介
- 详细讲解Java中的类加载器
- 【COGS】257 动态排名系统 【动态第K小】树状数组+主席树
- c++ 中文分词介绍
- DIV 灰色透明遮罩层,显示,隐藏
- 面向对象的三个基本元素,五个基本原则
- 快速学习shell脚本语言
- 无法执行该操作,因为链接服务器 "......." 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
- 网页版<2048>游戏
- 【环境配置】Fedora samba服务器环境搭建及无法查看文件的解决方法
- cocos2d创建平铺
- mtk camera 移植步骤
- android中调用requestFocus()的详细过程
- Filter原理及应用
- myeclips利用ant生成的doc报告出现乱码