linux的shell简单介绍

Posted 遙遙背影暖暖流星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的shell简单介绍相关的知识,希望对你有一定的参考价值。

一. shell脚本

在这里插入图片描述

1 ,新建脚本文件

shell脚本是一个可执行文件

vim first.sh    //新键一个新的脚本

第一行#!/bin/bash 表示脚本声明,表示此行以后的语句通过/bin/bash程序来解析执行
行首第一个字符是# ,这表示该行为注释,非执行命令在这里插入图片描述

2 、赋予可执行权限

chmod +x 脚本文件

3、运行脚本文件

(1)脚本文件路径(绝对路径或者相对路径)

./first.sh
/root/first.sh

(2)l利用解释器
当文件没有执行权限是,可以用解释器进行脚本

bash  脚本文件路径  /
sh 脚本文件路径
source 脚本文件路径
. 脚本文件路径

bash 和sh执行会新开一个变量环境,source和 . ,表示继续以现在环境
(3)层数
bash和sh 会增加环境变量的层数

bash
bash
sh
echo $SHLVL    //看现在所在的层数
pstree
exit       //退出本层

在这里插入图片描述

在这里插入图片描述

二、自定义变量

1、定义变量

a=192.168.100    //变量名=变量值
b=niuniuzi

当前进程中有效,其他进程及当前进程的子进程无效

[root@localhost ~]$ echo $SHLVL
1
[root@localhost ~]$ b=niuniuz
[
[root@localhost ~]$
[root@localhost ~]$ echo $b
niuniuz
[root@localhost ~]$ bash
[root@localhost ~]$ echo $b   

[root@localhost ~]$         //b为空

bash

2、变量名的定义规则

基本格式:变量名=变量值
●VERSION=6.0
●等号两边没有空格,变量名称以字母或者下划线开头,名称中不 要包括特殊字符,不能以数字开头
变量名区分大小写
unset a # #取消a的赋值
set #查看所有变量
declare -i a=123 #规定变量只能为数字
readonly a=123 #规定变量不可变, 只能退出exit取消

三、变量的调用

双引号(“”)
界定字符串,赋值的内容包括空格,必须以双引号括起来,在双引号的范围内,使用$符号引用变量值
 ##WEIXIN="weixin  5.0"

单引号('')
变量值包括特殊符号%¥¥#@等,使用单引号括起来。在单引号的范围内无法引用其他变量的值
##PEI=‘$peihua%’

反撇号(``)

反撇号主要用于命令替换,允许将执行某个命令的输出结果赋值给变量

##DENNLIST=`grep -v  "^#" /etc/vsftpd`

实现两个命令以上的嵌套命令,需要改用$()来代替反撇号
##rpm -qc $(rpm -qf $(which useradd))
bash的内置命令read 给变量赋值

四、交互式定义变量(read)

read [选项] 变量名
在这里插入图片描述

五、环境变量

(1)局部变量

环境变量:当前进程有效,并且能够被子进程调用,在子进程定义的在父进程不能调用
- env 查看当前用户的环境变量
- set 查询当前用户的所有变量(临时变量与环境变量)
- export 变量名=变量值 或者 变量名=变量值;export 变量名
 B=123
export B      //临时把一个临时变量变成环境变量,重开机失效(切换用户不生效)
env | grep B
B=123

(2)全局变量
全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用
在这里插入图片描述
用户登录系统读取相关文件的顺序
/etc/profile
$HOME/.bash_profile
$HOME/.bashrc
/etc/bashrc

将脚本移动到/bind/bash目录,以及a=123123写入/etc/profile

以上是关于linux的shell简单介绍的主要内容,如果未能解决你的问题,请参考以下文章

Liunx----Shell脚本简单介绍 Shell运行环境和Shell变量

Linux的简单命令介绍

shell函数介绍及使用

Linux简单介绍与基本使用(文件操作压缩与解压常用shell命令)

逆向及Bof基础实践

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础