首页 > 系统相关 >linux4-vim与shell脚本

linux4-vim与shell脚本

时间:2024-04-20 15:12:10浏览次数:27  
标签:10 linuxprobe shell linux4 echo sh vim root example

1.vim +文件名编辑文件

a、i、o进入输入模式,esc退出输入模式 ;  :w保存 :q退出 :q!强制退出

2.vim /etc/hostname修改主机名

3./etc/sysconfig/network-scripts此目录中修改网卡信息

 1 TYPE=Ethernet                  //设备类型
 2 BOOTPROTO=static            //ip分配模式
 3 NAME=ens160                  //网卡名称
 4 IPADDR=192.168.10.10
 5 NETMASK=255.255.255.0 //子网掩码
 6 GATEWAY=192.168.10.1    //网关
 7 DNS1=192.168.10.1
 8 
 9 [root@linuxprobe network-scripts]# nmcli connection reload ens160
10 [root@linuxprobe network-scripts]# ping 192.168.10.10
11 PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
12 64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.083 ms
13 重启网卡测试网络连通性

4.编写简单shell脚本

1 [root@linuxprobe~]# vim example.sh
2 #!/bin/bash
3 #For Example BY linuxprobe.com
4 pwd
5 ls -al
6 第一行的脚本声明(#!)
7 用来告诉系统使用哪种 Shell 解释器来执行该脚本;第二行的注释信息(#)是对脚本功能和
8 某些命令的介绍信息,使得自己或他人在日后看到这个脚本内容时,可以快速知道该脚本的
9 作用或一些警告信息;第三、四行的可执行语句也就是我们平时执行的 Linux 命令

5.执行脚本

 1 1.
 2 [root@linuxprobe~]# bash example.sh
 3 /root
 4 total 60
 5 dr-xr-x---. 15 root root 4096 Oct 12 00:41 .
 6 dr-xr-xr-x. 17 root root 224 Jul 21 05:04 ..
 7 2.
 8 [root@linuxprobe~]# ./example.sh
 9 bash: ./Example.sh: Permission denied
10 [root@linuxprobe~]# chmod u+x example.sh
11 [root@linuxprobe~]# ./example.sh
12 /root
13 total 60
14 dr-xr-x---. 15 root root 4096 Oct 12 00:41 .

6.脚本参数

 1 [root@linuxprobe~]# vim example.sh
 2 #!/bin/bash
 3 echo "当前脚本名称为$0"
 4 echo "总共有$#个参数,分别是$*。"
 5 echo "第 1 个参数为$1,第 5 个为$5。"
 6 [root@linuxprobe~]# bash example.sh one two three four five six
 7 当前脚本名称为 example.sh
 8 总共有 6 个参数,分别是 one two three four five six。
 9 第 1 个参数为 one,第 5 个为 five。
10 $0 对应的是当前 Shell 脚本程序的名称,$#对应的是总
11 共有几个参数,$*对应的是所有位置的参数值,$?对应的
12 是显示上一次命令的执行返回值,而$1、$2、$3……则分
13 别对应着第 N 个位置的参数值

7.

 

1 [root@linuxprobe~]# [ -d /etc/fstab ]
2 [root@linuxprobe~]# echo $?
3 1
4 0为存在非0为不存在
5 
6 &&,它表示当前面的命令执行成功后才会执行它后面的命令,
7 因此可以用来判断/dev/cdrom 文件是否存在,若存在则输出 Exist 字样。
8 [root@linuxprobe~]# [ -e /dev/cdrom ] && echo "Exist"
9 Exist

8.“或”,它在 Linux 系统中的运算符号为||,表示当前面的 命令执行失败后才会执行它后面的命令,

 1 [root@linuxprobe~]# echo $USER
 2 root
 3 [root@linuxprobe~]# [ $USER = root ] || echo "user"
 4 [root@linuxprobe~]# su - linuxprobe
 5 [linuxprobe@linuxprobe~]$ [ $USER = root ] || echo "user"
 6 user
 7 
 8 “非”,在 Linux 系统中的运算符号是一个叹号(!),它表示把条件测
 9 试中的判断结果取相反值。也就是说,如果原本测试的结果是正确的,则将其变成错误的;
10 原本测试错误的结果,则将其变成正确的
11 [root@linuxprobe~]# [ ! $USER = root ] || echo "administrator"
12 administrator

9.或与非结合

1 当前我们正在登录的即为管理员用户—root。下面这个示例的执行顺序是,先判断当前
2 登录用户的 USER 变量名称是否等于 root,然后用逻辑“非”运算符进行取反操作,效果就
3 变成了判断当前登录的用户是否为非管理员用户。最后若条件成立,则会根据逻辑“与”运
4 算符输出 user 字样;若条件不满足,则会通过逻辑“或”运算符输出 root 字样,而只有在前
5 面的&&不成立时才会执行后面的||符号。
6 [root@linuxprobe~]# [ ! $USER = root ] && echo "user" || echo "root"
7 root

10.整数比较运算符

 

1 [root@linuxprobe~]# [ 10 -gt 10 ]
2 [root@linuxprobe~]# echo $?
3 1
4 [root@linuxprobe~]# [ 10 -eq 10 ]
5 [root@linuxprobe~]# echo $?
6 0

1 [root@linuxprobe~]# [ -z $String ]
2 [root@linuxprobe~]# echo $?
3 0

11、流程控制语句

 

标签:10,linuxprobe,shell,linux4,echo,sh,vim,root,example
From: https://www.cnblogs.com/hbdgw/p/18147713

相关文章

  • PowerShell 遇到 .ps1,因为在此系统上禁止运行脚本
    PowerShell遇到.ps1,因为在此系统上禁止运行脚本 解决方法:以管理员身份打开PowerShell:查看当前的执行策略:Get-ExecutionPolicy *`Restricted`:不允许任何脚本运行。这是默认设置,也是最安全的设置。*`AllSigned`:只允许运行由受信任的发布者签名的脚本。*`RemoteSign......
  • 使用命令行(powershell)压缩(7Z RAR)指定日期文件
    使用命令行(powershell)压缩(7ZRAR)指定日期文件,powershell,7z。 WINDOWS命令行是无法按时间过滤文件的,我们通过powershell里的Get-ChildItem+ Where-Object来过滤文件。 本例子是powershell+7z,RAR的自行更改。 echo"--开始了--"#只压缩今天编译出来的文件,根据......
  • WebShell管理工具的流量特征-哥斯拉 v4.01
    一、哥斯拉v4.01PHP_EVAL_XOR_BASE64:1.WebShell连接通讯流量分析本次案例以哥斯拉v4.01连接PHP_EVAL_XOR_BASE64-WebShell木马的通讯过程为例哥斯拉v4.01主界面如下:有效载荷支持:Asp、Java、CS、Php默认加密方式有:PHP_EVAL_XOR_BASE64、PHP_XOR_BASE64、PHP_XOR_RAW我们......
  • shell系统函数和流程控制
    系统函数:1、简单示例:点击查看代码#!/bin/bashfilename="$1"_log_$(datename+%S)echo$filenamebasename:基本语法:basename[string/pathname][suffix](功能描述:basename命令会删掉所有的前缀包括最后一个('/')字符,然后将左右字符显示出来。basename可以理解为路......
  • gaussdb通过编写shell脚本自动化执行查询和结果收集
    转:https://support.huaweicloud.com/pwp-dws/dws_13_00033.html1、登录ECS,进入到/opt目录下,使用vim命令生成query.conf和run_query.sh两个脚本文件。脚本内容如下,编辑后按:wq!保存脚本配置:run_query.sh脚本如下:#!/bin/bashscript_path=$(cd`dirname$0`;pwd)query_mode=$1......
  • linux常用的shell脚本
    linux常用的shell脚本一、检查系统负载:检查系统的负载情况,并在超过阈值时发送警报。可使用 uptime 命令和条件语句来实现#!/bin/bashCPU_USAGE=$(top-bn1|grep"Cpu(s)"|awk'{print$2+$4}')THRESHOLD=80THRESHOLD=80if(($(echo"$CPU_USAGE>$THRESHOLD"|b......
  • xShell终端中文乱码问题的解决办法
    转载于CSND,原创作者:师傅我坚持不住了原文链接:https://blog.csdn.net/LuoFan_A/article/details/136713014xShell终端中文乱码问题的终极解决方案在与Linux系统进行交互时,我们经常会遇到终端中文显示乱码的问题。这不仅影响阅读体验,还可能导致命令理解错误,从而引发一系列问题。......
  • shell脚本中的运算符和条件判断
    shell脚本中的运算符和条件判断:一、算术运算符在Shell脚本中,你可以使用各种运算符来执行数学运算、比较和逻辑操作。计算方式:$[]$(())例:a=$[(9+5)90]打印输出结果==>echo$a二、条件判断判断方式:test$a=90[$a=90]注意事项:判断处理中间空格隔开数字......
  • Linux与Shell 第2天 实操、软件包管理、Shell编程
    传送门Linux与Shell第0天阿里云安装Ubuntu22.04以及桌面Linux与Shell第1天文件目录、VIM、网络配置、系统管理、远程登录Linux与Shell第2天实操、软件包管理、Shell编程实操菜鸟教程Linux命令大全文件目录输入作用ls-a显示隐藏文件ls-lh详细信息......
  • shell vi 文本替换字符串
     在shell中使用vi或vim编辑器进行文本替换可以通过以下步骤完成:打开终端。使用vi或vim命令打开目标文件,例如:vifilename.txt。进入替换模式,可以通过按:%s/old_string/new_string/g进行全局替换。 : 进入命令模式。% 表示文件中的所有行。......