学习 shell —— 编写基本脚本
set:查看环境变量;
0. 简单说明
一般而言,shell 会通过 PATH 变量来查找命令,如果要执行用户编写的脚本(未添加进 PATH 路径),还需两步操作:
- 需要
$ ./xx - 为需执行该脚本的用户增加执行权限:
chmod u+x xx(chmod o+x xx)
1. 基本用法
- echo 使用
-n参数:将通过echo输出的文本字符串和后续的命令执行输出不换行: - 环境变量,在环境变量前加
$来使用这些环境变量(echo $USER/$UID/$HOME) - 用户变量,shell 脚本会自动决定变量值的数据类型,在脚本的整个生命周期内,shell 脚本中定义的变量会一直保持着它的值,但在 shell 脚本结束时会被删除掉,与环境变量相似,用户变量也是通过美元符引用
2. 交互式脚本(read:读取键盘输入)
使用 read 命令读取来自键盘输入的变量。该变量常用于 shell script 的编写当中,用于和用户交互。
$ read [-pt] variable
-p(prompt):后面可以跟提示符;
-t:后面可以接等待的秒数,而不会无休止地等待用户输入
范例1:读取用户输入到指定变量名
$ read variablename
hello_world!
$ echo $variablename
hello_world!
范例2:提示用户 15 秒内输入名字,并存入名为 name 的变量中
$ read -p "input your name: " -t 30 name
Zhang
$ echo $name
Zhang
3. 批量修改文件名:统一添加后缀
#!/bin/bash
tail=$1
for filename in `ls`
do
mv $filename ${filename}.$tail
done
4. 命令执行时间统计
#!/bin/bash
start=$(date +%s)
commands;
statements;
end=$(date +%s)
duration=$(( end-start ))
echo Time taken to exec is $duration seconds.
学习 shell —— 编写基本脚本的更多相关文章
- [原创]Scala学习:编写Scala脚本
scala支持脚本 1)在/opt/scala-script下创建一个文件hello.scala 编辑内容如下: $ hello ,this is the first scala script 2)运 ...
- shell编写启动脚本
[root@confluence bin]# vim /etc/init.d/confluence #!/bin/bash # Confluence Linux service controller ...
- 30分钟快速学习Shell脚本编程
什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch ...
- 一起来学习Shell脚本
Shell脚本 Shell脚本(shell script),是一种为shell编写的脚本程序. 大家所说的shell通常都是指的shell脚本,但其实shell与shell脚本是两个不同的概念.由于习 ...
- 菜鸟教程之学习Shell script笔记(上)
菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- 从入门到掌握 - 系统学习shell语言
简介 什么是 shell Shell是一种程序或命令行解释程序,用于解释用户直接输入的用户命令或从文件中读取的用户命令,然后将 它们传递给操作系统以进行操作或处理.要注意,这个过程是解释而不编译脚本, ...
- -Shell 教程 Bash 脚本 基础语法 MD
目录 目录 Shell 简介 Shell 脚本 Shell 环境 第一个shell脚本 Shell 变量 定义变量 使用变量 只读变量 删除变量 Shell 字符串 单引号 双引号 字符串基本操作 S ...
- 学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤
编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时 ...
随机推荐
- BZOJ 3881 [COCI2015]Divljak (Trie图+Fail树+树链的并+树状数组维护dfs序)
题目大意: Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的. 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P. ...
- java 导出百万数据到excel
@RequestMapping("export") public void write(HttpServletRequest request,HttpServletResponse ...
- javaweb实现教师和教室管理系统 java jsp sqlserver
1,程序设计思想 (1)设计三个类,分别是工具类(用来写连接数据库的方法和异常类的方法).信息类(用来写存储信息的方法).实现类(用来写各种操作数据库的方法) (2)定义两个jsp文件,一个用来写入数 ...
- vs解决方案里复制一个项目
首先,保证要复制的项目的整洁无垃圾文件: 然后,选“文件”/“导出模板”,起个名字: 再者,创建一个同类型的项目,这时项目模板里就会出现你刚才导出的项目了.
- "pom.xml" could not be activated because it does not exist.
"pom.xml" could not be activated because it does not exist. 在sts中使用maven build,输入package然后 ...
- leetCode解题报告5道题(七)
题目一:Interleaving String Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2 ...
- 图文介绍MyEclipse (2015) 中创建简单的Maven项目的步骤(用于生成可运行jar文件)
利用MyEclipse的引导,能够非常方便的创建简单的.用于生成可运行jar文件的Maven项目: (原创文章,转载请注明转自Clement-Xu的博客:http://blog.csdn.net/cl ...
- php中命名空间和use
php中命名空间和use 总结 php中的namespace就有点像java中package包的概念 php中的use的概念就是用别人的命名空间中的类 php中的include enquire是引入文 ...
- 如何在github的README.md中添加图片
如何在github的README.md中添加图片 总结: 链接引用: 简介: 1.在github上的仓库建立一个存放图片的文件夹,文件夹名字随意.如:img ...
- String build-in function - len
len is a build-in function that returns the numbers of characters in a string: Since we started coun ...