linux Shell的使用
linux Shell的使用
下面是我对shell脚本使用的学习,写成日志,做个笔记,可以当做自己以后的复习。
1.输出hello world!
vi test1.sh, 如果不会vi工具的使用,请参考 linux vi 工具的使用
#!/bin/bash
echo "hello world"
注:新创建的文件默认是没有执行权限的,所以必须给该文件授予执行权限后才能执行。授权命令:chmod u+x test1.sh或者chmod 755 test1.sh
最后执行
./test1.sh
2.使用变量
vi test2.sh
#!/bin/bash
read -p "please input your name:" name
echo "hello,$name!"
3.条件判断的使用
vi condition.sh
#!/bin/bash
if [ "$1" = "normal" ]
then
echo "this is normal case"
elif [ -z "$1" ]
then
echo "no input, ignal..."
fi
./condition.sh normal
输出:this is normal case
注意: [ 符号后面必须有一个空格,否则执行出错。
4. whle[]...do...done 语句
类似于c语言的do..while 语句
#!/bin/bash
echo "please use add or delete or exit"
ACTION="default"
while [ -n $ACTION ]
do
read ACTION
case $ACTION in
add)
echo "add somebody"
;;
delete)
echo "delete somebody"
;;
exit)
echo "complete"
break
;;
*)
echo "invalide action,please re-enter"
;;
esac
done
5 for循环
#!/bin/bash
for C in 123 2 3 4 5 1 hello
do
echo $C
done
输出每一个元素
6 函数的使用
#!/bin/bash
strcat()
{
OUT="$1"" ""$2"
return 0
} stract2()
{
echo "$1"" ""$2"
return 3
} A="bird"
B="mouse" OUT=""
strcat $A $B
echo $OUT
OUT2='strcat2 $A $B'
echo $?
echo $OUT2
输出结果:
bird mouse
0
strcat2 bird mouse
参考资料
Android内核剖析
好吧,对shell的学习先到这里,以后继续深入学习Shell。可以使用这本书 《Linux于unix shell编程指南》。
linux Shell的使用的更多相关文章
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- Linux Shell 截取字符串
Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...
- Linux Shell 重定向与管道【转帖】
by 程默 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以 ...
- Linux Shell 通配符、元字符、转义符【转帖】
作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1 1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt ...
- Linux Shell中单引号、双引号、反引号的区别【转载】
linux shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' )# grep Susan phonebook Sus ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
随机推荐
- iOS-代理
1.协议是一组通讯协议,一般用作两个类之间的通信. 2.协议声明了一组所有类对象都可以实现的接口. 3.协议不是类,用@protocol关键字声明一个协议. 4.与协议有关的两个对象,代理者和委托者. ...
- xcrun: error: active developer path ("/Volumes/Xcode/Xcode6-Beta.app/Contents/Developer") does not exist, use xcode-select to change
When using MacOS with xcode6.4, i always meet these error: xcrun: error: active developer path (&quo ...
- Redis 3.0 集群搭建
Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...
- OVS ARP Responder – Theory and Practice
Prefix In the GRE tunnels post I’ve explained how overlay networks are used for connectivity and ten ...
- 对UICollectionView的学习
UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableVie ...
- jsonp跨域请求数据实例——手机号码查询
前言 网上有很多开放的api,我们在本地通过ajax获取数据时,总会碰到一个问题,那就是跨域!如果不借助php等,仅仅通过js怎么解决跨域的问题呢?或许jsonp是个不错的选择. 知识准备 上篇博客 ...
- Js 操作Json
JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象. parse方法相当于eval()方法 ...
- pascal矩阵 分类: 数学 2015-07-31 23:01 3人阅读 评论(0) 收藏
帕斯卡矩阵 1.定义 帕斯卡矩阵:由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵. 杨辉三角形表是二次项 (x+y)^n 展开后的系数随自然数 n 的增大组成的一个三角形表. 如4 ...
- API读取和处理的文件
1.FileList对象 FileList对象是File对象的一个集合,设置multiple就可以多文件上传.2.Blob对象 Blob对象就是一个二进制原始数据对象,它提供了slice方法可以读取 ...
- Android 中解析 JSON
有什么不懂的可以去官网去看看:www.json.org 在google android中也有关于解析JSON的类库:JsonReader,但是只能在3.0以后的版本中才可以用,在这里我们用google ...