shell script

shell script

shell script 是利用shell功能写的一个“程序”,可以用来方便管理主机

shell script 编写的注意事项:

1.命令的执行时从上往下,从左往右;

2.命令、参数间的多个空白会被忽略

3.如果读取到Enter符号(CR),就尝试开始执行该行(或该串)命令

4.如果一行内容太多,可以使用"[Enter]"来扩展至下一行

5.#可以作为注释

如何执行shell script,假设有一个/home/shell.sh 的文件

1. 直接执行命令:shell.sh 文件必须要具备可读和可执行(rx)权限,然后

  • 绝地路径:使用 /home/shell.sh 来执行命令
  • 相对路径:切换工作目录到/home, 然后使用  ./shell.sh 来执行
  • 变量PATH功能: 将shell.sh 放到PATH制定的目录内

2. 以bash 进程来执行:bash shell.sh

3. 以source 来执行: source shell.sh

第1、2种方式运行script时,会产生一个子进程,并在子进程中运行script,script中任何设置都不会影响当前所在进程

第3种方式运行script,其实就是在当前进程中运行

编写第一个script

1 #!/bin/bash
2 # this is my first Linux script
3 echo "Hello World!"
4 exit 0

第一行 #!/bin/bash 很重要,必须有。它指明了在这个文件内的语法使用bash的语法。当这个程序被执行时,它能够加载bash的相关环境配置文件,并且执行bash来使我们下面的命令能够执行

第二行是注释

第三行是程序主体,echo 表示在控制台打印

第四行不是必须的,但是有这种用法:我们可以使用exit这个命令来中断程序,并且传回一个数值给系统,若接着执行echo $?则可得到0的值。 哈哈,那么我们就可以通过exit n 来自定义错误信息了。

 一些简单范例

1.

1 #!/bin/bash
2 #
3 # user input his firstname and last name ,then print them in console
4 #
5 
6 read -p "Please input your first name: "    firstName  #提示用户输入
7 read -p "Please input your las name: "      lastName
8 echo "Your full name is :$firstName $lastName"

第6、7行提示用户输入,然后把输入的值分别存入变量firstName和lastName

第8行输出

2.

1  #!/bin/bash
2  #以用户输入为前缀, 当天日期为后缀新建一个文件
3 read -p "Please input prefix :" file
4 fileName=${file:-"fileName"}         #如果file为空,那么 fileName变量赋值字符串“fileName”
5 date1=$(date +%Y%m%d)               #注意$(..)的用法,意为执行括号里的命令,返回
6 file1=${fileName}${date1}            #连接字符串
7 touch "$file1"                          #新建文件

3.

1 #!/bin/bash
2 # 计算和
3 a1=2
4 a2=3
5 echo $((a1+a2))     #计算可以通过 $(( ... ))的方式
原文地址:https://www.cnblogs.com/formyjava/p/4214476.html