01-shell编程hello,world
来源:互联网 发布:excel怎么算协方差矩阵 编辑:程序博客网 时间:2024/04/28 20:03
学习地址:http://www.icoolxue.com/play/1726
1.shell编程使用的场景,比如说,给Linux操作系统批量添加100个用户,例如:写一个数据库定时作业的一个脚本等。。
实例:
helloworld.shell
2.shell的类型有很多,比如:tcshell ,bash(Bourne Again Shell) shell 等。
新建一个文件夹 mkdir shell
然后创建一个可编辑的文件 touch helloworld.shell 文件的后缀名随意
然后vi helloworld.shell,insert如下内容,esc->wq保存。
给脚本赋予可执行权限,使用chmod u+x helloworld.shell,意思是给文件的所有者加可执行权限。
然后 ./helloworld.shell (点/)执行shell脚本。
#指定执行脚本的shell#!/bin/sh#my first shell demo!echo "now,print the current path"/bin/pwd#显示一个空行echoecho "now,print all document from usr"/bin/ls /usr
执行结果如下。
now,print the current path
/home/shell
now,print all document from usr
apache-tomcat-7.0.67.tar error.txt jdk-7u76-linux-x64.tar.gz sbin uploadimagesbak
apache-tomcat-7.0.67.tar.gz games lib share
bak include local src
bakscript jdk1.6 lucene tomcat7
bin jdk1.7 manage.war uploadbak
3.shell脚本的创建过程
1.创建一个可编写的文件,写入shell命令。
2.给文件添加可执行权限
3.执行脚本 ./ 文件名 或者 sh 文件名 例如:./helloworld.shell sh helloworld.shell
4.变量,shell中分为临时变量和永久变量
永久变量例如:$PATH $SHELL(查看当前使用的shell类型) $LANG
5.用户变量定义规则
字母数字下划线组成,不能以数字开头
shell编程中将变量名大写。
6.定义一个变量(变量名=值),并且输出
NUM=100
echo $NUM
7.将一个命令执行的结果赋值到变量中
TIME=`date` (1前面的那个符号)
echo $TIME
8.使用单引号和双引号的区别
单引号是直接输出,双引号是命令。
例如:定义一个时间临时变量 DATE=`date`
echo "time is $DATE" 输出 time is 2016年7月27日01:34:26
echo 'time is $DATE' 输出 time is $DATE
9.查看系统中定义的永久变量和自定义变量。
set | more
10.删除变量
unset 变量名 例如:unset NUM
11.位置变量和特殊变量
位置变量就是你执行命令的时候传入的参数的第一个变量。
特殊变量
$? 上一个命令执行的结果 返回0表示成功 非0失败
$# 输入参数的个数
$* 输出参数
$$ shell脚本执行的PID
12.read命令,从键盘读入数据,赋值给变量
实例
#!/bin/bash
#test read commond
read first second third
echo "first is $first"
echo "second is $second"
echo "third is $third"
执行:sh add.shell回车
输入100 200 300 即可打印出来。
注意:输入2个参数的时候,第三个值不赋值,如果输入4个参数,最后一个会输出到第三个结果中。
13.expr算数运算符(整数)
8/3=2
加法: expr 3 + 5 加号之间有空格
乘法: expr 3 \* 5 转义*
复杂运算格式:expr `expr 3 + 5` / 4
赋值:NUM= `expr $var1 / $var2`
小结整理:
- 01-shell编程hello,world
- shell 编程 hello,world
- linux shell脚本编程之hello world
- shell 脚本hello world
- [C++11 并发编程] 01 - Hello World
- 01 java语言编程的hello world
- Hello,world驱动编程
- gtk编程Hello World
- qt 编程 hello-world
- shell开发之一 :hello world
- start from shell "hello world"
- 内核编程的hello world!
- 龙芯下汇编语言编程(Hello world)
- linux Hello World 模块编程
- Win32编程(Hello World)
- C语言编程“Hello,world”
- 内核模块编程---hello world
- NDK编程之Hello world
- Linux命令常用之alias
- HDU-5752-Sqrt Bo-水
- 网络基础篇——socket网络编程之UDP通信
- 类之间的关系
- csu 1555 Inversion Sequence 线段树反求逆序数
- 01-shell编程hello,world
- 深入理解Java的接口和抽象类
- 79.You are working on a database that must be functioning 24 hours a day, 7 days a week. The databas
- HDU-5753-Permutation Bo
- 吐槽-使用Swing实现的第一个页面
- 陶哲轩实分析 6.2 节习题试解
- iOS 实时滤镜 AVCapture Filter
- android无法影藏标题栏问题
- HDU-5687 Problem C(2016"百度之星"-资格赛)