首页 > 系统相关 >shell - 逻辑运算

shell - 逻辑运算

时间:2024-06-20 10:11:00浏览次数:22  
标签:shell world echo 逻辑运算 file path fi hello

记录一些与或非相关的逻辑运算

数字比较

  • -eq 等于,如: if [ "$a" -eq "$b" ]
  • -ne 不等于,如: if [ "$a" -ne "$b" ]
  • -gt 大于,如: if [ "$a" -gt "$b" ]
  • -ge 大于等于,如: if [ "$a" -ge "$b" ]
  • -lt 小于,如: if [ "$a" -lt "$b" ]
  • -le 小于等于,如: if [ "$a" -le "$b" ]
  • 大于(需要双括号),如: if (( "$a" > "$b" ))
  • 大于等于(需要双括号),如: if (( "$a" >= "$b" ))
  • 大于(使用 test 命令),如:if test $a -gt $b

字符串比较

  • 相等,if [ "$a" = "$b" ]
  • 不相等,if [ "$a" != "$b" ]
  • 相等(使用 test),if test $a = $b
  • 长度为0,if [ -z "$a" ]

逻辑与

使用方法一

if [ $a == 1 -a $a == 2 ]; then
  echo "hello world" 
fi  

使用方法二

if [ $a == 1 ] && [ $a == 2 ]; then
  echo "hello world" 
fi  

逻辑或

使用方法一

if [ $a == 1 -o $a == 2 ]; then
  echo "hello world" 
fi  

使用方法二

if [ $a == 1 ] || [ $a == 2 ]; then
  echo "hello world" 
fi  

非运算

if !(( $a == 1 ))
then
   echo "hello world" 
fi

判断文件是否存在

#!/bin/bash

file="path/to/your/file"
 
if [ -e "$file" ]; then
    echo "$file exist."
else
    echo "$file not exist."
fi

判断是不是文件

#!/bin/bash
 
path=$1
 
if [ -f "$path" ]; then
    echo "$path is a file."
elif [ -d "$path" ]; then
    echo "$path is a directory."
else
    echo "$path is neither a file nor a directory."
fi

标签:shell,world,echo,逻辑运算,file,path,fi,hello
From: https://www.cnblogs.com/chenss15060100790/p/18258141

相关文章

  • shell - 流程控制语句
    if条件语句ifconditionthen #dosth.elifconditionthen #doanother.else #doothers.fi#有些人喜欢这样写,看起来更紧凑一些ifcondition;then #dosth.elifcondition;then #doanother.else #doothers.fi样例:a=10;b=20;#下面这一句,方括号是......
  • 通过 HIDS 告警分析 webshell 行为
    准备漏洞环境1. 下载 vulhub 仓库gitclonehttps://github.com/vulhub/vulhub.git2.  修改 tomcat 弱口令漏洞环境配置vivulhub/tomcat/tomcat8/tomcat-users.xml将配置文件中的 user 和 password 修改为非弱口令3.  启动漏洞环境(根据实际 docker 环境......
  • shell语言入门
    前言Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,是linux内置的一款软件。通过编写Shell的脚本,可以更好的使用linux系统(比如、安装卸载软件、增删改查文件等等),毕竟大部分linux、系统都没有界面,不像windows那样鼠标点点就完成了大部分需求。shell软件的种类有很多......
  • mumu模拟器 adb shell 登录后执行命令 Inappropriate ioctl for device
    前言全局说明mumu模拟器adbshell登录后执行命令Inappropriateioctlfordevice一、说明二、问题执行任何命令,都提示:Inappropriateioctlfordevice三、解决方法方法一:执行过sudo或su重新登录方法二:退出,执行adbroot后再执行adbshell登录四、......
  • 运维之shell脚本初识
     脚本工具可以帮助我们完成一些需要重复劳动的工作;基础语法:"#"为注释符号1:#指定脚本运行环境为/bin/bash #!/bin/bash2:输入参数,xxx为变量名,多个变量名用空格隔开readxxx   输出参数echoxxx3: 变量和运算符的定义:这是每个编程语言必不缺少的部分     ......
  • Shell编程之循环语句
    Shell编程之循环语句一、for循环语句for语句的结构for语句应用示例二、while循环语句while语句的结构while语句应用示例三、until循环语句until语句结构until语句应用示例注意:在Shell编程中,循环语句是一个非常重要的组成部分,它允许我们重复执行某段代码,直到满......
  • shell函数
    shell函数函数定义:将命令序列按照格式写在一起。格式指的是函数的固定格式。两种格式函数作用:方便重复使用。函数库,集中在一起,随时可以传参调用。大的工程分割成若干个小的功能模块,提高代码的可读性。函数的格式格式1functionshoping{​     命令序列......
  • shell函数
    shell函数定义:将命令序列按照格式写在一起。格式指的是函数的固定格式。作用:方便重复使用,可以生成函数库,集中在一起随时可以传参调用。      大的工程分割成若干个小的功能模块,提高代码的可读性。函数的格式:1.function shoping{    命令序列}2. ......
  • shell --- sed 命令
    sed命令经常用于替换字符串,格式为"sed-i's/旧字符串/新字符串/g'文件名",注意有单引号,下同。其中的-i表示实质改变文件内容,如果缺少则不会改变文件;g表示全局替换,如果缺少则只会替换每一行第一次出现的字符串,如下面所示:#将test.txt中所有的a替换为Ased-i's/a/A/g'test.tx......
  • 使用 shell 快速生成字符串的哈希值
    使用方式echo-n"dev"|sha256sum|cut-d''-f1此外也可以使用md5sum、sha224sum、sha1sum等,替换命令中的sha256sum即可。命令解释echo将字符串"dev"通过管道符传递给标准输出,-n选项可以去掉多余的换行符sha256sum本身接收的参数是文件路径,如果不指定,则从标......