首页 > 系统相关 >linux脚本书写笔记

linux脚本书写笔记

时间:2023-06-09 10:45:31浏览次数:38  
标签:语句 run 变量 8189fs 书写 笔记 命令 linux var

6月9日,记录init.d的S40network解析

判断是否存在某文件:

 此语句为判断目录/var/run是否存在(! -e /var/run),如果不存在则创建该目录(mkdir -p /var/run)。其中,! -e是一个逻辑运算符,用于判断文件或目录是否存在,而mkdir命令的-p选项表示如果需要的话,也会创建所有必要的父级目录。因此,这个脚本实际上是用于检查并在需要时创建/var/run目录。

而关于! -e的中括号:

添加中括号使得逻辑运算符! -e包含在方括号内,以便它可以作为一个条件表达式。在这个例子中,如果/var/run目录不存在,那么整个条件表达式将被视为真,后面的命令mkdir -p /var/run将被执行。如果条件表达式结果为假,则后面的命令将不会执行。方括号表示测试,将命令行技术和它们的参数文件放在一起并对它们进行测试以查看它们是否为真或假。

赋值语句中运行脚本命令:

 

这条脚本语句的作用是将模块名为"8189fs"的内核模块赋值给变量"mod_status"。具体的操作步骤如下:

  1. 运行lsmod命令,它会列出已加载的内核模块。
  2. 通过管道(|)将命令的输出传递给awk命令。awk是一种文本处理工具,可以对文本进行分割和格式化。
  3. 在awk中使用条件表达式,只选择模块名为"8189fs"的行。$1表示第一个字段,在这里就是模块名。
  4. 使用"print $1"打印匹配行的第一个字段,也就是模块名。
  5. 将匹配的模块名赋值给变量"mod_status"。

最终结果是变量"mod_status"的值为模块名"8189fs",如果没有找到匹配的模块则变量为""(空字符串)。
总的来说,这条脚本语句的作用是获取"8189fs"模块的状态,并将其赋值给一个变量以用于后续处理。
其中,`和'的作用:
在这个脚本语句中,反引号(`)和单引号(')都是用于命令替换,它们的作用是将一个命令的输出替换为它在命令行中的返回值。反引号(`)是较旧的用法,现在大多数人更倾向于使用$()进行命令替换;

  • 在这个脚本语句中,使用反引号将lsmod | awk '$1="8189fs" {print $1}'命令的输出作为字符串嵌入到外部命令中。这里的作用是将整个命令的输出变为一个字符串,并将其赋值给变量"mod_status";
  • 单引号在这个脚本语句中用于保护在其中引用的字符串,以防止在它们内部的特殊字符被解释。如果使用双引号,当引用中包含变量时,变量将被解析并替换为其当前值,而不是作为字符串的一部分;
  • 所以,在这个脚本语句中,单引号(')是用于保护双引号(")中的字符串,以便在命令替换时勿略"8189fs"的引号,并将整个命令替换为一个字符串,并将其赋值给变量"mod_status";
  • 总的来说,反引号(`)和单引号(')都是用于命令替换中的特殊字符,分别用于将命令输出嵌入到命令行命令中,并保护其中引用的字符串,以便在命令替换时勿略特殊字符或变量替换。

 

 

标签:语句,run,变量,8189fs,书写,笔记,命令,linux,var
From: https://www.cnblogs.com/recodemo/p/17468445.html

相关文章

  • 010 数据库学习笔记 日期 + 时间 + 星期
    星期获取操作--设置语言,这个很重要,会导致不同的返回结果(只需设置一次语言后,就可以重复调用DATENAME)SETLANGUAGEN'SimplifiedChinese'--简体中文--SETLANGUAGEN'English'--英文--SETLANGUAGEN'Korean'--韩文--获取指定日期为星期几GETDATE()当天日期,GETDATE(......
  • O2OA (翱途) 开发平台应用市场云笔记功能邀您来体验
    O2OA云笔记提供了一个给员工记录工作笔记,在线协同编辑文档,白板演示的工具,该功能可以将记录下来的文档信息件实时同步到云端,用户随时在多个设备上进行查看、编辑与分享,支持在“云”上做笔记、管理文档、编写脑图信息。这样可以帮助整体工作团队实现资料共享、协同编辑、在线实......
  • Linux安装Redis
    1、系统环境[root@localhost~]#cat/etc/redhat-release2、安装依赖yum -y installgccgcc-c++pcrepcre-develzlibzlib-developensslopenssl-devel3将redis-3.2.1.tar.gz安装包上传到服务器的/usr/local/目录下3.1解压redis压缩包[root@localhostlocal]#tar-xvfre......
  • Linux Shell 脚本创建日期文件夹
    mk-time-dir.sh#!/bin/bashdir_name=$(date'+%Y%m%d%H%M')mkdir$dir_nameecho"已创建文件夹${dir_name}"#已创建文件夹202306090936参考:Linuxdate命令......
  • 有什么Windows电脑上好用地记笔记软件
    当你每天的工作事项非常多时,就会有很多事情需要记住,面对繁琐复杂的各种事项,很多人的记忆力都是有限的,很容易就会忘记工作事项,这应该怎么办呢?其实随着工作量的增加,想要快速、准确的记住琐碎的工作信息,借助一款记笔记软件可以起到事半功倍的作用。一般大多数上班族使用的办公设备都......
  • 阅读笔记之《构建之法》五
    第十章典型用户和场景10.1典型用户和典型场景①怎样定义典型用户?我们首先要定义用户的角色。正如戏剧中有正面和反面的角色,软件系统中也有受欢迎的和不受欢迎的典型用户。受欢迎的典型用户——指那些按设计者的期望使用系统的用户,如“网站的购物者”不受欢迎的典型用户—......
  • dataset.py代码阅读笔记
    #dataset.pyimportloggingimportos#处理c语言类型和二进制的数据结构importstruct#regularexpressionmoduleimportreimporttimeimportnumpyasnp#这个模块pip的时候有问题,但是按照提示出现换了pip文件名就好使了,叫做scikit-image#skimage的文档,主要是一些图像读取,显......
  • demosaicnet-master的包代码阅读笔记
    init.py我在学init用法时候的笔记该文件里面都是导入模块,其中从dataset.py是导入所有模块,因为模糊导入的__all__没有定义。from.modulesimportBayerDemosaickfrom.modulesimportXTransDemosaickfrom.mosaicimportxtransfrom.mosaicimportbayerfrom.mosaicim......
  • Linux dlopen系列函数
    Linux提供了一套API来动态装载库,编译时候要加入-ldl(指定dl库) dlopen()函数函数定义#include<dlfcn.h>void*dlopen(constchar*filename,intflag);描述dlopen()用于加载以\0结尾的字符串文件名命名的动态共享对象(或叫动态链接库),返回一个不透明的句柄,此句柄......
  • 《人件》读书笔记
    概要:社会的复杂性远比技术上的挑战难处理得多,并且很多时候社会因素比技术因素更重要。而团队是一个非常重要的因素,如何管理团队,项目、改善工作环境,形成高效团队这是不可避免和忽略的。1、管理团队:一个项目的失败,可能是技术导致、也有可能是团队因素导致,也可能两者都有。在工作......