• 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 —— 编写基本脚本的更多相关文章

  1. [原创]Scala学习:编写Scala脚本

    scala支持脚本 1)在/opt/scala-script下创建一个文件hello.scala 编辑内容如下: $ hello ,this is the first scala script 2)运 ...

  2. shell编写启动脚本

    [root@confluence bin]# vim /etc/init.d/confluence #!/bin/bash # Confluence Linux service controller ...

  3. 30分钟快速学习Shell脚本编程

    什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch ...

  4. 一起来学习Shell脚本

    Shell脚本 Shell脚本(shell script),是一种为shell编写的脚本程序. 大家所说的shell通常都是指的shell脚本,但其实shell与shell脚本是两个不同的概念.由于习 ...

  5. 菜鸟教程之学习Shell script笔记(上)

    菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...

  6. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  7. 从入门到掌握 - 系统学习shell语言

    简介 什么是 shell Shell是一种程序或命令行解释程序,用于解释用户直接输入的用户命令或从文件中读取的用户命令,然后将 它们传递给操作系统以进行操作或处理.要注意,这个过程是解释而不编译脚本, ...

  8. -Shell 教程 Bash 脚本 基础语法 MD

    目录 目录 Shell 简介 Shell 脚本 Shell 环境 第一个shell脚本 Shell 变量 定义变量 使用变量 只读变量 删除变量 Shell 字符串 单引号 双引号 字符串基本操作 S ...

  9. 学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤

    编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时 ...

随机推荐

  1. BZOJ 3881 [COCI2015]Divljak (Trie图+Fail树+树链的并+树状数组维护dfs序)

    题目大意: Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的. 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P. ...

  2. java 导出百万数据到excel

    @RequestMapping("export") public void write(HttpServletRequest request,HttpServletResponse ...

  3. javaweb实现教师和教室管理系统 java jsp sqlserver

    1,程序设计思想 (1)设计三个类,分别是工具类(用来写连接数据库的方法和异常类的方法).信息类(用来写存储信息的方法).实现类(用来写各种操作数据库的方法) (2)定义两个jsp文件,一个用来写入数 ...

  4. vs解决方案里复制一个项目

    首先,保证要复制的项目的整洁无垃圾文件: 然后,选“文件”/“导出模板”,起个名字: 再者,创建一个同类型的项目,这时项目模板里就会出现你刚才导出的项目了.

  5. "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然后 ...

  6. leetCode解题报告5道题(七)

    题目一:Interleaving String Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2 ...

  7. 图文介绍MyEclipse (2015) 中创建简单的Maven项目的步骤(用于生成可运行jar文件)

    利用MyEclipse的引导,能够非常方便的创建简单的.用于生成可运行jar文件的Maven项目: (原创文章,转载请注明转自Clement-Xu的博客:http://blog.csdn.net/cl ...

  8. php中命名空间和use

    php中命名空间和use 总结 php中的namespace就有点像java中package包的概念 php中的use的概念就是用别人的命名空间中的类 php中的include enquire是引入文 ...

  9. 如何在github的README.md中添加图片

    如何在github的README.md中添加图片 总结: 链接引用:![Image text](图片的链接地址) 简介: 1.在github上的仓库建立一个存放图片的文件夹,文件夹名字随意.如:img ...

  10. String build-in function - len

    len is a build-in function that returns the numbers of characters in a string: Since we started coun ...