首页 > 系统相关 >Shell_2

Shell_2

时间:2023-05-15 09:49:15浏览次数:26  
标签:返回 Shell false 检测 运算符 file true

传递参数:

  我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

#!/bin/bash

echo "Shell 传递参数实例!";
echo "第一个参数为:$1";

echo "参数个数为:$#";
echo "传递的参数作为一个字符串显示:$*";

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
第一个参数为:1
参数个数为:3
传递的参数作为一个字符串显示:1 2 3

数组:

  Bash Shell 只支持一维数组,初始化时不需要定义数组的大小,数组用括号表示,元素用空格分隔

读取元素:

  ${array[n]}

  n= @ or * 时,可以获取所有元素

关联数组:

  declare -A array_name   #-A就是用于声明一个关联数组

declare -A site=(["google"]="www.google.com" ["runoob"]="www.runoob.com" ["taobao"]="www.taobao.com")

declare -A site
site["google"]="www.google.com"
site["runoob"]="www.runoob.com"
site["taobao"]="www.taobao.com"

运算符:  

  原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

  expr 是一款表达式计算工具,使用它能完成表达式的求值操作。引用格式:val=`expr ……`

  表达式和运算符之间要有空格

  乘号前必须加反斜杠: val=`expr $a \* $b`

  以下示例中,a=10,b=20

  关系运算符:

运算符 说明 举例
-eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。
-ne 检测两个数是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true。
-gt 检测左边的数是否大于右边的,如果是,则返回 true。 [ $a -gt $b ] 返回 false。
-lt 检测左边的数是否小于右边的,如果是,则返回 true。 [ $a -lt $b ] 返回 true。
-ge 检测左边的数是否大于等于右边的,如果是,则返回 true。 [ $a -ge $b ] 返回 false。
-le 检测左边的数是否小于等于右边的,如果是,则返回 true。 [ $a -le $b ] 返回 true。

  布尔运算符:

运算符 说明 举例
! 非运算,表达式为 true 则返回 false,否则返回 true。 [ ! false ] 返回 true。
-o 或运算,有一个表达式为 true 则返回 true。 [ $a -lt 20 -o $b -gt 100 ] 返回 true。
-a 与运算,两个表达式都为 true 才返回 true。 [ $a -lt 20 -a $b -gt 100 ] 返回 false。

  逻辑运算符: 

运算符 说明 举例
&& 逻辑的 AND [[ $a -lt 100 && $b -gt 100 ]] 返回 false
|| 逻辑的 OR [[ $a -lt 100 || $b -gt 100 ]] 返回 true

  字符串运算符:

运算符 说明 举例
= 检测两个字符串是否相等,相等返回 true。 [ $a = $b ] 返回 false。
!= 检测两个字符串是否不相等,不相等返回 true。 [ $a != $b ] 返回 true。
-z 检测字符串长度是否为0,为0返回 true。 [ -z $a ] 返回 false。
-n 检测字符串长度是否不为 0,不为 0 返回 true。 [ -n "$a" ] 返回 true。
$ 检测字符串是否不为空,不为空返回 true。 [ $a ] 返回 true。

  文件测试运算符:

操作符 说明 举例
-b file 检测文件是否是块设备文件,如果是,则返回 true。 [ -b $file ] 返回 false。
-c file 检测文件是否是字符设备文件,如果是,则返回 true。 [ -c $file ] 返回 false。
-d file 检测文件是否是目录,如果是,则返回 true。 [ -d $file ] 返回 false。
-f file 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。 [ -f $file ] 返回 true。
-g file 检测文件是否设置了 SGID 位,如果是,则返回 true。 [ -g $file ] 返回 false。
-k file 检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。 [ -k $file ] 返回 false。
-p file 检测文件是否是有名管道,如果是,则返回 true。 [ -p $file ] 返回 false。
-u file 检测文件是否设置了 SUID 位,如果是,则返回 true。 [ -u $file ] 返回 false。
-r file 检测文件是否可读,如果是,则返回 true。 [ -r $file ] 返回 true。
-w file 检测文件是否可写,如果是,则返回 true。 [ -w $file ] 返回 true。
-x file 检测文件是否可执行,如果是,则返回 true。 [ -x $file ] 返回 true。
-s file 检测文件是否为空(文件大小是否大于0),不为空返回 true。 [ -s $file ] 返回 true。
-e file 检测文件(包括目录)是否存在,如果是,则返回 true。 [ -e $file ] 返回 true。

  

标签:返回,Shell,false,检测,运算符,file,true
From: https://www.cnblogs.com/LhTian/p/17376226.html

相关文章

  • Shell中的if语法详解
    if语法if[condition1];thencommand1elif[condition2];thencommand2elsecommand3fiif判断条件文件/目录判断常用判断[-aFILE]如果FILE存在则为真。[-dFILE]如果FILE存在且是一个目录则返回为真。[-eFILE]如果指定的文件或目录存......
  • (一)shell 脚本基础
    观看视频:https://www.bilibili.com/video/BV14L4y157Bv/?spm_id_from=333.999.0.0介绍shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。shell还是一个功能强大的编程语言,易编写、易调试、灵活性强。第一行的作用#!/bin/bashShebang在计算机程序中,s......
  • shell
    运行shell脚本手动在环境中开启指定解释器:shtest.sh直接在当前环境中运行的shell中运行脚本:.test.sh直接在当前环境中运行的shell中运行脚本:sourcetest.sh执行权限在这一部分由于我们假设脚本文件有可执行器权限,所以我们使用chmod+xtest.sh为我们的test.sh文件增加......
  • PowerShell-get-counter-算机上找不到任何性能计数器集: 错误 800007d0
    #已经解决了,感谢国外大神的解答:https://techcommunity.microsoft.com/t5/windows-powershell/get-counter-could-not-find-any-performance-counter-sets-on-the/m-p/3811330/thread-id/6430#M6433 获取计数器:在192.168.50.101计算机上找不到任何性能计数器集:错误80000 ......
  • shell 基础篇之运算符
    Shell基本运算符Shell和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如awk和expr,expr最常用。expr是一款表达式计算工具,使用它能完成表达式的求值操作。#!/b......
  • shell中任务递交后修改循环配置文件效果
     001、投递该任务(base)[b20223040323@admin1test]$lsa.txtrecord.sh(base)[b20223040323@admin1test]$cata.txt##循环配置文件110000000002500000000(base)[b20223040323@admin1test]$catrecord.sh##测试程序#!/bin/bashcata.......
  • Python 执行 Shell命令
    方法一:os.system() os.system()可以说是最为基本的运行shell命令的方式了,这个方法的特点就是直接运行命令,并将运行之后的状态值返回码返回,所以结果是一个int类型,这个方式比较常见是运用在只需要执行shell命令而不需要得到命令的返回结果的场景。比如执行一个创建目录的......
  • 关于Xshell安装出现功能传输错误问题
    Xshell安装时出现致命错误,有关详细信息,请参阅windowsinstallerhelp或者MSDN解决方法:1、在命令行窗口输入regedit打开注册表编辑器2、找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control3、将RegistrySizeLimit(REG_SZ类型的)的值改为FFFFFFFF(10进制就是4294967295......
  • Shell进阶
    19Linux-Shell编程19.1正则表达式19.1.1概述在上一章说过正则表达式和通配符的区别(正则表达式用来在文件中匹配符合条件的字符串,通配符用来匹配符合条件的文件名)吗?其实这种区别只在Shell当中适用,因为用来在文件当中搜索字符串的命令,如grep、awk、sed等命令可以支持正则表达......
  • MFC-ShellExecuteEx打开文件
     打开执行程序SHELLEXECUTEINFOShellInfo;/*typedefstruct_SHELLEXECUTEINFO{DWORDcbSize;存储该结构的长度,以字节为单位ULONGfMask;一个标志数组,用来设置其他成员的有效性SEE_MA......