Shell
首先理清一个概念,Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
例如在Linux中最常用的Bash,就是Unix Shell的一种。
Bash是Bourne shell的后继兼容版本与开放源代码版本,它的名称来自Bourne shell(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。
Shell script
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
业界所说的 shell 通常都是指 shell 脚本,shell 和 shell script 是两个不同的概念。
参数传递
可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。$0 为执行的文件名。
$ chmod +x test.sh
$ ./test.sh 1 2
执行的文件名:./test.sh
first arg:1
second arg:2
#!/bin/bash
echo "Shell 传递参数实例!";
echo "文件名:$0";
echo "first arg:$1";
echo "second arg:$2";
执行多条命令
&&(命令执行控制)
语法格式如下:
command1 && command2 [&& command3 …]
1 命令之间使用 && 连接,实现逻辑与的功能。
2 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
3 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
&:这个命令的功能还不是特别清楚,但是可以同时执行多个命令,参考:https://www.jianshu.com/p/0f72afb513ab
||(命令执行控制)
语法格式如下:
command1 || command2 [|| command3 …]
1 命令之间使用 || 连接,实现逻辑或的功能。
2 只有在 || 左边的命令返回假(命令返回值 ?==1),||右边的命令才会被执行。这和𝑐语言中的逻辑或语法功能相同,即实现短路逻辑或操作。3只要有一个命令返回真(命令返回值
? == 0),后面的命令就不会被执行。
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功 一条命令为止
作者:Tinywan
出处:https://www.cnblogs.com/Tinywan
每个命令之间用 ; 隔开
说明:各命令的执行结果,不会影响其它命令的执行。换句话说,各个命令都会执行,
但不保证每个命令都执行成功。
打开多个终端
命令gnome-terminal
可以打开一个新的终端
可以利用这个命令打开多个终端执行脚本