没有合适的资源?快使用搜索试试~ 我知道了~
linux基础之Shell Script 1 Shell Scipt使用指令和基本程序设计结构写成的程序,可以完成复杂的处理流程 1.1 程序书写 代码如下:#!/bin/bash# Program:# This program shows “Hello Wrold” in your screen.# History:# 2013/2/3 on_1y First releasePATH=$PATHexport PATHecho -e “Hello World!\a\n”exit 0 第一行 #!/bin/bash 说明使用的shell类型,不同shell语法可能不同,所以要说明使
资源推荐
资源详情
资源评论
linux基础之基础之Shell Script入门介绍入门介绍
linux基础之Shell Script
1 Shell Scipt
使用指令和基本程序设计结构写成的程序,可以完成复杂的处理流程
1.1 程序书写
代码如下:
#!/bin/bash
# Program:
# This program shows “Hello Wrold” in your screen.
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
echo -e “Hello World!”
exit 0
第一行 #!/bin/bash 说明使用的shell类型,不同shell语法可能不同,所以要说明使用的是哪种shell
其它#开始的表示注释,注释一般需要说明
程序功能
版本历史
作者及联系方式
设置好PATH变量,以便直接可以调用相应路径下的命令
程序主体部分
exit 0 表示程序执行成功,向环境返回0
1.2 程序执行
bash $bash sh01.sh #如果用sh sh01.sh而sh又不是指向bash,那么sh01.sh内的语法就会不一致,因为用 #sh去解释了bash
语法写的shell script,针对这个程序,如果 #$type sh #得到sh is hashed (/bin/sh) #那么会输出-e Hello world!,而非Hello world!
代码如下:
$./xxx.sh $chmod +x sh01.sh $./sh01.sh
source $ source sh01.sh
注:用bash和用source的不同在于,用bash执行时,shell script其实是在在父程序bash下新建了一个 bash子程序,这个子程
序中执行,当程序执行完后,shell script里定义的变量都会随子程序的结束而消失, 而用source执行时,是在父程序bash中
执行,shell script里定义的变量都还在。
2 简单Shell练习
2.1 例1 接收用户输入
代码如下:
# !/bin/bash
# Program:
# This program is used to read user’s input
# Site: www.jb51.net
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
read -p “Your first name:” firstname # tell user to input
read -p “Your last name:” lastname # tell user to input
echo -e “\nYour full name: $firstname $lastname”
exit 0
调用:
代码如下:
$ bash sh02.sh
Your first name:Minix
Your last name:007
Your full name: Minix 007
2.2 例2 按日期建立相似名字的文件
代码如下:
# !/bin/bash
# Program:
# This program is used to create files according to date
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
# Get filename from user
echo -e “I will use ‘touch’ to create three files.”
read -p “Please input your filename:” tmpfilename
# Prevent the user input [Enter]
# Check whether filename exists or not
filename=${tmpfilename:-“filename”}
# Get the final filename according to date
date1=$(date –date=’2 days ago’ +%Y%m%d) # date of 2 days ago
date2=$(date –date=’1 days ago’ +%Y%m%d) # date of yesterday
date3=$(date +%Y%m%d) # date of today
filename1=${filename}${date1}
filename2=${filename}${date2}
filename3=${filename}${date3}
# Create file
touch “$filename1”
touch “$filename2”
touch “$filename3”
exit 0
调用:
代码如下:
$ bash sh03.sh
I will use ‘touch’ to create three files.
Please input your filename:WhoKnows
$ ls W*
WhoKnows20130201 WhoKnows20130202 WhoKnows20130203
3 判断式
3.1 测试文件是否存在
test -e filename会根据filename是否存在返回0或1,再交由echo显示结果:
剩余7页未读,继续阅读
资源评论
weixin_38704922
- 粉丝: 6
- 资源: 919
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Spring Cloud商城项目专栏 049 支付
- sensors-18-03721.pdf
- Facebook.apk
- 推荐一款JTools的call-this-method插件
- json的合法基色来自红包东i请各位
- 项目采用YOLO V4算法模型进行目标检测,使用Deep SORT目标跟踪算法 .zip
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功