shell中条件判断文件, 判断数值, 判断字符; 逻辑比较, test的使用

shell中的条件判断: (选项参考man test)

1. 文件判断:
  判断目录存在不存在: test -d /home 执行后使用$?查看结果为0, 表示是目录; test命令无论执行结果如何, 都不会报错, 只会返回0或非0
  test -d /home 语法等同于 [ -d /home ] test可使用[来代替, 后面的]只不过是一个参数, 不要把这个当作方括号看待, 人家是个命令啊.

2. 数值判断:
  if [ $UID -ne 0 ]; then $UID用户判断当前用户是否是root, 是0否非0; -ne 即不等于的意思

3. 字符判断:
  if [ $USER = "root" ]; then $USER用来获取当前登录的用户名, 字符的判断直接使用=即可. =和==效果一样

逻辑比较: [ ] 中多用来进行逻辑比较, 如下:

   [ -z "$name" ] [ -n "$name" ] 用来判断变量长度是否为0, 注意shell中字符变量使用时最好都加上双引号
  shell中, 变量未定义或值为空时, 长度都是0

原文地址:https://www.cnblogs.com/quzq/p/12168501.html

时间: 2024-10-17 14:25:29

shell中条件判断文件, 判断数值, 判断字符; 逻辑比较, test的使用的相关文章

shell中条件判断if中的-z到-d的意思

shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存在且已经设置了SGID则

shell中条件判断if中的-z到-d

shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真.[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真

Shell中条件判断语法与判断条件

一,简介 Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断.运算符和一些退出状态 对后面的学习有很重要的影响.shell有一个内部命令test经常用于对判断语句 进行测试一种或几种状态的条件是否成立 二. 判断条件 (1)Linux的shell中的测试命令,用于测试某种条件或某几种条件是否真实存在 测试命令是判断语句和循环语句中条件测试的工具,对判断和运算符的比较测试有很大的帮助. (2)测试条件为真,返回一个0值:      为假,返回一个非0整数值 测试命令有

shell中条件测试

bash脚本中条件测试类型:整数测试 字符串测试 文件测试 条件测试的表达式:[ expression ] [ [ expression ] ]表达式的前后必须有空格 整数测试:-eq:测试两整数是否相等,相等为真 -ne:测试两整数是否不等,不等为真 -ge:测试一个数是否大于或等于另一个数 -le:..............小于或等于....... -gt: ..............大于.......... -lt: ...............小于.......... bash中命

shell 中条件判断

if 中的 -z 到 -d 的意思 2011-09-05 10:30 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存

shell中条件判断if中的-z到-d的意思【转载】

本文转载自[http://blog.csdn.net/utstarm/article/details/6536916] [ -a FILE ]  如果 FILE 存在则为真. [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ]  如果 FILE 存在且是一个目录则为真. [ -e FILE ]  如果 FILE 存在则为真. [ -f FILE ]  如果 FILE 存在且是一

shell中条件判断if中的-z到-d的意思【转】

[ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真. [ -h FILE ] 如果 FILE

shell中的条件判断

read命令 命令的语法: read [参数] 变量名 常用的参数如下: -t timeout 设定超时时间. -p prompt 设定提示信息,该提示信息将会显在光标前. 条件测试: 条件测试可以判断脚本程序运行的状态.它常用于条件分支,以便在不同的运行状态下执行不同的命令. [ param1 判断符号 param2 ] [ 判断符号 param ] 文件状态测试: -b filename 判断文件filename是否为块设备,若文件不存在返回假. -c filename 判断文件filena

shell简单用法笔记(shell中数值运算)二

shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a=123 b=456 c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法1: a=123 b=456 c=$(($a+$b)) 方法2: a=123 b=456 declare -i c=$a+$b 通过declare -i 来声明c的数值类型为int类型 方法3: a=123 b=456 c=$(expr $a + $b) 注意+号两边有空格 通过貂绒ex