shell脚本中 if 判断时候-s是什么意思

read -p "pleace input: " a1

指的是文件大小非0时为真。

shell脚本if语句_shell脚本if语句判断相等shell脚本if语句_shell脚本if语句判断相等


shell脚本if语句_shell脚本if语句判断相等


# Created Time : 2017-02-24 06:25:13

种:sed格式

yes

首先:我们先(在命令行直接输出模拟一下,如果都正确再在shell脚本中进行书写。)直接echo输出一下

echo "111asd"

步:思想

然后我们就要想一下我们要说用sed判断,但是sed的最主要的功能是什么?替换!!!当然是替换,既然是替换那么我们能不能直接把echo输出的数字直接替换掉,然后看这个输出还剩下什么呢?如果我们剩下的空,那么我就基本可以确定我echo输出的就是空,如果我sed替换之后不是空,那么我是不是就是可以认为我echo输出的不是数字或不全是数字呢?

第二步:命令行测试:

[root@localhost shell]# echo "111asd" | sed 's#[0-9]##g' | cat -A

asd$

[root@localhost shell]# echo "111" | sed 's#[0-9]##g' | cat -A

经过第二步我们很明显就能看出来这个想法是能够实现的。所以在shell中配合-z(zero)-n(no zero)是完全可以实现的,所以这个时候我们就可以进行脚本的编写测试了。

#!/bin/bash

##############################################################

# File Name: test.sh

# Version: V1.0

# Author: ls

# Description:

##############################################################

#交互式外部读取

if [ -z "$(echo $a1 | sed 's#[0-9]##g')" ]

echo "yes"

exit 1

else

#如果不是数字输出no给$?一个1的返回值并退出。

echo "no"

[root@localhost shell]# sh test.sh

pleace input: 1

[root@localhost shell]# sh test.sh

pleace input: q1

no

-s file true if the file has nonzero size

判断文件的大小是否非0. 如果文件存在并且大小非0,则返回true

在linux下shell脚本中if中用到or怎么写

1、没有参数的函数func(){echo "hello worshell脚本中的or和C语言类似,也是用||(两个竖杠)表示or逻辑。但是在shell脚本中,有严格的执行顺序要求,前一条命令或语句返回false,||的下一条语句或命令才会执行。ld"}func。

2、有参数的写法,其中$1,$2就是参数。func(){echo "hello world"echo "arshell中怎么判断输入的是否是数字:g1"$1;echo "arg#if进行数字判断2"$2}func " a1" " a2"。

3、不定参数的函数可以这样写,参数的个数可以通过$#得到。

4、调用其他文件中的函数:注意两个点之间有空格。#test2.sh的内容和test1.sh完全相同。. ./test2.shfunc “abc”“a”。

5、两个函数名字相同,后面的函数会把前面的函数覆盖掉。. ./test2.shfunc(){echo "test.sh:func"$1}func "abc" "a"。

6、如果函数是有返回值的。可以通过$?来获取返回值fun(){return `expr $1 + $2`}fun 1 2echo $?。

if [ 条件1 -o 条件2 ]

if [[ 条件1 || 条件2 ]]

shell脚本中 if 判断时候-s是什么意思

文件大小非0时为真

[ -f "somefile" I74 :判断是否是一个文件

[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限

[ -n "$$第三步:进行shell测试var" ] :判断$var变量是否有值

[ "$a" = "$b" ] :判断$a和$b是否相等,详细用法可参考《linux就该这么学》第二章,-r file用户可读为真

-w file用户可写为真

-x file用户可执行为真

-f file文件为正规文件为真

-d file文件为目录为真

-c file文件then为字符特殊文件为真

-b file文件为块特殊文件为真

-s file文件大小非#如果是数字输出yes给$?一个1的返回值并退出。0时为真

-t file当文件描述符(默认为1)指定的设备为终端时为真