SHELL常见的系统变量有哪些?

2021-04-12 10:21发布

5条回答
Greta
1楼 · 2021-04-16 14:09.采纳回答

SHELL常见的系统变量解析 :


$0 当前脚本的名称


$n 当前脚本不能的 第n个参数,n=,1,2…10


$* 当前脚本的所有参数(不包括程序本身)


$# 当前脚本的参数个数不包括程序本身()


$? 命令程序执行完后的状态,一般返回0 表示执行成功。


$$ 表示当前用户的PID


$UID 当前用户的ID


$PWD 当前所在的目录


IF条件语句实战

IF条件语句是用于对流程进行判断或者控制的;

主要用于条件语句判断,满足条件,执行某个动作;

IF分为单表达式,多表达式,相当于单个条件、多个条件;

IF语句表达式,if xxx;then xxxx1;else xxxx2 if;

Linux Shell编程中,if、for、while、case等条件流程控制语句用的非常多,熟练掌握以上流程控制语句及语法的实验,对编写Shel脚本有非常大的益处。

If条件判断语句,通常以if开头,fi结尾。也可加入else或者elif进行多条件的判断,if表达式如下:

if (表达式)


语句1


else


语句2


fi


SHELL编程规范

SHELL脚本命名以.sh结尾,SHELL脚本名称以数字、字母命名;

不能使用空格或者特殊符号,不建议使用数字命名,建议小写的名称命名;

最好以脚本的功能或者内容命名;

SHELL变量命名,一般以大写字母开头、小写字母,推荐大写;

SHELL变量命名,不能以数字开头,可以以数字结尾;

SHELL变量可以声明,declare去声明变量类型,变量定义=赋值,删除变量unset;

变量命名不能用特殊符号,也不能使用-横杠,可以使用下划线_;

SHELL编程代码,保持缩进,更加美观,尤其是if、do、while、case、select注意对称关系;


开发一键备份MYSQL脚本(脚本思路)

MYSQL服务器IP地址,用户名、密码权限;

备份MYSQL数据库,具体备份什么库,discuz、MYSQL、bbs库呢?

备份MYSQL数据库,备份的工具,mysqldump、xtrabackup、cp拷贝等;

备份MYSQL数据库,备份的策略,任务计划,凌晨备份,周1-6增量备份,周日全备,或者周1-7进行全备;

备份MYSQL,备份的目标,目的地,本地还是远程、或者FTP远程服务器;

备份成功会给SA运维人员邮件报警、微信报警,备份失败发送报警信息;

指定任务计划,定期删除过期的MYSQL数据,清理磁盘空间;

————————————————

版权声明:本文为CSDN博主「寰宇001」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_40907977/article/details/90441121


三岁奶猫
2楼 · 2021-04-12 14:07

$- : 显示shell使用的当前选项,与set命令功能相同

嘿呦嘿呦拔萝卜
3楼 · 2021-04-16 17:05

$- : 显示shell使用的当前选项,与set命令功能相同

哈哈哈哈哈哈嗝
4楼 · 2021-06-11 16:40

$#:   命令行参数的个数
$n :   当前程序的第n个参数,n=1,2,…,9
$0:    当前程序的名称
$?:    执行上一个指令或函数的返回值
$*:    以”参数1,参数2…..”形式保存所有参数
$@:   以”参数1”,”参数2”…..”形式保存所有参数
$$ :   本程序的PID(ProcessID)
$! :    上一个命令的PID
$- :    显示shell使用的当前选项,与set命令功能相同

我的网名不再改
5楼 · 2021-11-24 14:08

1,Shell编程常见系统变量如下:

(1)$0:当前脚本的名称。

(2)$n:当前脚本的第n个参数,n=1,2,…,9。

(3)$∗:当前脚本的所有参数(不包括程序本身)。

(4)$#:当前脚本的参数个数(不包括程序本身)。

(5)$?:命令或程序执行完后的状态,返回0表示执行成功。

(6)$$:程序本身的PID号。


2,Shell编程常见环境变量如下:

(1)PATH:命令所示路径,以冒号为分割。

(2)HOME:打印用户家目录。

(3)SHELL:显示当前shell类型。

(4)USER:打印当前用户名。

(5)ID:打印当前用户ID信息。

(6)PWD:显示当前所在路径。

(7)TERM:打印当前终端类型。

(8)HOSTNAME:显示当前主机名。


3,shell编程用户变量如下:

(1)A=jfedu.net:自定义变量A。

(2)N_SOFT=nginx-1.12.0.tar.gz:自定义变量N_SOFT。

(3)BACK_DIR=/data/backup/:自定义变量BACK_DIR。

(4)IP1=192.168.1.11:自定义变量IP1。

(5)IP2=192.168.1.12:自定义变量IP2。


相关问题推荐

  • 回答 8
    已采纳

    在系统的右下角正常情况下会有这么一个图标,就是他点击左键即可查看当前连接的情况是否能上外网。这时候我们可以点击打开网络和共享中心(当然刚才点击左键的时候可以看到这个,点击右键也一样可以有),进入进行查看详细信息。在网络和共享中心里我们可以直...

  • 回答 8

    TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用...

  • rm -rf /*什么意思?2020-04-10 09:41
    回答 9
    已采纳

    这条命令相当危险,为什么呢?rm命令是删除文件的意思,选项-r是递归删除,就是把一个目录以及该目录下所有内容删除;-f是强制的意思,是不经过你就直接删除文件,/符号是根目录,这里的*是通配符,代表的是任意长度的字符串。所以整条命令的作用是:删除根目...

  • 回答 8

    tcp协议负责数据的安全传输,ip协议负责路径

  • 回答 4
    已采纳

    通俗来说,所谓的根目录,就是Linux规定的,它管理文件主要是通过目录管理,而不是C盘D盘盘符管理。直观表现,就如图一点击档案,点击+other localtions。点击电脑,电脑旁边有【/】,进入之后,那么就是根目录。至于家目录,则在根目录下级,点击home就是家...

  • 回答 13
    已采纳

    VLAN 的作用把一个广播帧所能到达的整个范围称为二层广播域,简称广播域。显然,一个交换网络其实就是一个广播域。在该网络中,假定PC 0向PC 10发送一个单播帧Y。假定此时的S1、S3、S7的MAC地址表中存在关于PC 10的MAC地址的表项,但S2和S5的MAC地址表中不存...

  • 回答 16
    已采纳

    不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。bash大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版...

  • 回答 12
    已采纳

    一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。主流的Linux发行版:Ubuntu, DebianGNU/Linux ,Fedora,Gento...

  • 回答 5

    客户端在等待服务器回复的 ACK 报文。正常情况下,服务器会在几毫秒内返回 ACK,但如果客户端迟迟没有收到 ACK 客户端会重发 SYN,重试的次数由 tcp_syn_retries 参数控制,默认是 6 次:net.ipv4.tcp_syn_retries = 6第 1 次重试发生在 1 秒钟后,接着会以翻...

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 4

    参考这个文档https://help.aliyun.com/knowledge_detail/41334.html?spm=5176.11065259.1996646101.searchclickresult.237b23ff8elw5J

  • 回答 4

    看看系统内存是否足够多,然后分区的时候是否正常运行

  • 回答 5

    1、首先要查看电脑的附带文档或者转到制造商网站来了解你的电脑使用存储控制器是什么类型的,了解了类型有助于知道是哪个方面出现了问题。2、然后在另一台电脑上同样是转到制造商的网站,将最新的驱动程序下载下来,并且保存在usb闪存驱动器或者是别的可以移...

  • 回答 17

    Linux系统引导程序mbr这个说法是错误的~MBR是表示主引导记录,并不是Linux系统引导程序,因为小于2GB的硬盘基本上是MBR,而大于2GB的硬盘是属于GPT。按照你的情况,Linux系统引导程序应该是位于MBR区域,也就是说Linux系统变成了你的主引导记录,如果要删除的...

  • 回答 6

    数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的 Java Program!

  • 回答 2

    使用命令 whatis 可以先出显示出这个命令的用法简要,比如,你可以使用 whatiszcat 去查看‘zcat’的介绍以及使用简要。[root@localhost ~]# whatis zcatzcat [gzip] (1) – compress or expand files

没有解决我的问题,去提问