声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
关于shell的那些事儿-shell1
- shell中变量的创建和使用
- 如何查看定义的变量呢?
- 实践是检验真理的唯一标准
## shell脚本文件的创建和执行 创建一个dw.sh文件
vim dw.sh
kail中脚本解释其有三种,#! /bin/bash,#! /bin/dash ,#! /bin/sh
最终调用的脚本解释都是dash
Dash(Debian Almquist Shell)是Linux系统中的一种命令行解释器,它是Bash的一个分支,适用于执行脚本和命令。
Dash提供了一些常用内置命令,如cd、alias、unalias、read、set、unset、echo和printf等
查看dw.sh文件
ls -l /bin/bash
ls -l /bin/sh
ls -l /bin/dash
通过这里,咱知道了最高的执行权限是dash
运行一个脚本之前需要进行提权
第一种方法:使用chmod提权./运行
chmod 777 dw.sh
运行dw.sh文件
./dw.sh
一般我们运行的时候可能会没有权限,那么除了使用chmod进行提升权限之外,可以使用sh命令直接运行shell脚本
第二种方法:使用sh 、bash、dash运行
sh dw2.sh
bash dw2.sh
dash dw2.sh
运行脚本的时候并不是在任何地方就可以运行,需要改目录下有这个脚本,也就是说,必须到指定的目录里面,这个在windows中也是非常的常见,这也就是为什么很多软件需要进行环境变量配置。
第三种方法
利用source命令进行执行,且可使用改命令可以查看脚本文件的在目录下那个位置,且颜色加深
source dw3.sh
sh、bash 和 dash:这些都是shell程序,用于解释和执行shell脚本。bash 提供了最多的功能,而sh和dash更轻量级,尤其是在遵循POSIX标准方面。
source:这是一个shell内建命令,用于在当前shell环境中执行脚本,允许脚本修改当前环境变量,并且执行速度更快。
shell中变量的创建和使用
变量声明和定义
name="dw"
打印变量
echo $name
再次定义变量
age=18
echo $age
打印两个变量
echo my name is $name,and my age is $age years old
引号和不加引号的效果是一样
echo "my name is $name,and my age is $age years old"
如果用单引号呢?
echo 'my name is $name,and my age is $age years old'
没打印变量,为什么呢?区别:双引号和不加双引号都会输出变量,单引号是当作字字符串输出出来的
那么如何解决我们需要但单引号机进行输出变量呢?
可以将变量用双引号括起来,就会区分
echo "my name is "$name",and my age is "$age" years old"
当前除了上述的方法,还可以用脚本常见的花括号{}进行引用变量
echo my name is {$name},and my age is {$age} years old
但是上述的变量都是一些临时变量
变量的定义是由数字,字符串、下划线构成的,不能以数字开头,变量中间不要有。额。相信这些基础大家都知道的。
如何查看定义的变量呢?
利用set命令,比如
set | grep name
怎么删除变量呢?
unset name
查看变量
set | grep name
今天分享些基础的shell命令,该说不说