• set:查看环境变量;

0. 简单说明

一般而言,shell 会通过 PATH 变量来查找命令,如果要执行用户编写的脚本(未添加进 PATH 路径),还需两步操作:

  • 需要 $ ./xx
  • 为需执行该脚本的用户增加执行权限:chmod u+x xxchmod 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. Java取得环境变量和系统属性

    取得所有的环境变量 public class GetEnvAndProp { public static void main(String[] args) { Map<String, Strin ...

  2. 现代C++

    C++ 是世界上最常用的编程语言之一. 编写良好的 C++ 程序是快速.高效的. 该语言比其他语言更加灵活,因为你可以使用它来创建各种应用,包括有趣刺激的游戏.高性能科学软件.设备驱动程序.嵌入式程序 ...

  3. XCL-Chart柱形图的期望线/分界线

    周日在柱形图上加了两个小功能,当中之中的一个是加上了期望线/分界线,功能非常小,但我个人非常喜欢这个功能(好像之前也没看到别的图表库原生支持这个. ) 主要是加上这些小小的横线后,能非常明显的区分出数 ...

  4. Cube Simulation zoj3429 模拟

    Description Here's a cube whose size of its 3 dimensions are all infinite. Meanwhile, there're 6 pro ...

  5. zoj_3735,dp,长沙站j题

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  6. CodeWars for JavaScript

    SubClass https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes Sub classing with ...

  7. 制作 Gif 工具

    ScreenToGif:非常小,非常强大: 从此可以十分方便地从视频中抠 gif 出来了: 以及制作一些教学类小 gif,插入到网页中: 丰富的编辑功能: 插入文本,插入标题,插入图像等: 下载地址: ...

  8. 关键字super

    1.super,相较于关键字this,可以修饰属性.方法.构造器 2.super修饰属性.方法:在子类的方法.构造器中,通过super.属性或者super.方法的形式,显式的调用父类的指定 属性或方法 ...

  9. 使用goroutine+channel和java多线程+queue队列的方式开发各有什么优缺点?

    我感觉很多项目使用java或者c的多线程库+线程安全的queue数据结构基本上可以实现goroutine+channel开发能达到的需求,所以请问一下为什么说golang更适合并发服务端的开发呢?使用 ...

  10. 爬虫--BeautifulSoup使用

    解析库 解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup, "html.parser") Python的内置标准库.执行速度适中 .文档容 ...