- 补充:Linux基础篇(一)-- Shell与Bash的区别和联系_bash和shell的区别_长路漫漫2021的博客-优快云博客linux命令--mkdir 与文件权限_mkdir 权限_Simon_coder的博客-优快云博客Linux基础篇(一)-- Shell与Bash的区别和联系_bash和shell的区别_长路漫漫2021的博客-优快云博客
- 操作系统:windows、linux、unix
- ubuntu:linux的发行版本,或者说linux准确来说不是一个操作系统,而是一个操作系统的内核
- .sh文件:shell脚本文件,即Shell Script,后缀为.sh。作用就是遵循一定的语法将输入多个命令,并解释传给系统。
- bash 脚本是linux的默认shell,可以看作是是sh的增强版本
- 函数文件:为实现某一具体功能编写封装了相应的函数
- shell:一个命令行解释器,比如:cmd
1、返回上一级目录
cd..
2、
#!/bin/bash
linux上的shell 是bash shell ,咱们在编写一个脚本的时候须要在第一行添加”#!/bin/bash“. 这句话的意思是告诉执行器须要调用/bin/bash来执行我,否则执行结果就可能存在语法不兼容的问题,致使结果异常或者根本不能执行。
3、mkdir:make directory的缩写,Linux中 mkdir 命令用来在指定位置创建指定名称的文件夹或目录
mkdir [权限] 目录名
用户在创建文件夹或 目录时,该用户必须对所创建的文件夹的父文件夹具有写权限,并且所创建的文件夹(目录)不能与其父文件夹(父目录)重名,即同一个目录下不能有同名的(区分大小写)。还可以设置目录的权限。
文件或目录的权限又分为3种:只读、只写、可执行。
4、
cd"$( dirname"${BASH_SOURCE[0]}")
这个语句的作用是获取shell脚本所在目录的绝对路径,然后切换到 脚本 所在的目录。
在linux中,dirname命令可以返回文件所在的目录。$0表示Shell本身的文件名。
注意:dirname的功能是去掉文件路径名中的从右往左数的第一个/及其之后的所有文字
- BASH_SOURCE[0] - 等价于 BASH_SOURCE ,取得当前执行的 shell 文件所在的路径及文件名
- $( dirname “$0“ ) 不推荐使用$( dirname “$0“ ) 不推荐使用,${BASH_SOURCE[0] 推荐使用
$() 和 ${}:
参考:Shell脚本中$符号的几种用法小结_linux shell_脚本之家
Shell中获取当前脚本的绝对路径: $( cd “$( dirname “${BASH_SOURCE[0]}“ )“ && pwd)-优快云博客
- $() - 相当于
command
, 即获取command命令的结果 - 一般情况下,$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围
- && - 逻辑运算符号,只有当&&左边运行成功时才会运行&&右边的命令
- 获取当前进程 ID:echo $$
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
如果第一条语句顺利执行,就执行pwd
显示当前目录,并将结果赋值给变量“SCRIPT_DIR”。
该命令获取脚本源文件的文件路径名,获取其目录部分,然后 cd 到该目录,使用 pwd 获取当前目录的完整路径,然后将这个路径的值赋给变量 “SCRIPT_DIR”。
- 其中的而&> file是一种特殊的用法,也可以写成>& file,二者的意思完全相同,&>或者>&视作整体,分开没有单独的含义;
- /dev/null 文件
-
如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null;
-
$ command > /dev/null
/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
-