linux shell 编程 3(if then else fi 字符串空的判断)

原创 2015年11月19日 22:19:46

 文章只要是 简单介绍 if 的用法 以及其中涉及到的  /dev/null  无底洞和   2 >&1  的介绍

1、

#!/bin/sh
#name : test linux shell
# 标准输入,获取从键盘输入的数据
read  name     

# 判断是否为空还可以使用 -z $name 如果成立则空

# -s $name  判断不为空  
if [ "$name" ="" ]
then
echo  "name is null "
else
echo   "name value is   $name"
fi

2、

#  判断获取的数值的大小
#!/bin/sh
#name : test linux shell
read  name
if [ "$name" -le 6 ]
then
echo  "value   $name  less than 6 "
else
echo   "value  $name  greater  than 6 "
fi

3、

#  检测 grep 结果,判断这个要找的是否在结果中
#!/bin/sh
#name : test linux shell
if  grep 'linux'  Tlinux.sh  > /dev/null 2>&1
then
echo  "  linux   in  tlinux.sh  "
else
echo   "   linux  not in tlinux l.sh "
fi

4、

#  文件的拷贝判断
#!/bin/sh
#name : test linux shell
if  cp  tests tests12.sh >/dev/null
then
echo "good copy"
else
echo   " `basename $0`: erroe "
fi

*************************/dev/null *******************

可以把/dev/null看作一个"黑洞",它非常等价于一个只写文件,所有写入它的内容都会永远丢失。

而尝试从它那儿读取内容则什么也读不到然而, /dev/null对命令行和脚本都非常的有用。

1、禁止标准输出

cat $filename >/dev/null
# 文件内容丢失,而不会输出到标准输出.

2、禁止标准错误

rm $badname 2>/dev/null
# 这样错误信息[标准错误]就被丢到太平洋去了.

3、禁止标准输出和标准错误的输出.

cat $filename 2>/dev/null >/dev/null

4、清除日志文件内容

cat /dev/null > /var/log/messages
# : > /var/log/messages 有同样的效果, 但不会产生新的进程.(因为:是内建的)


*********************   2>&1   **********************

这儿命令是由三部分组成的,2 、>& 、1 这三部分组成,其中的1,2,以及以后会看到的 0 表示的是他们的输出输入方式,其中0 表示标准输入, 1 标准输出 、2 、表示标准错误输出 而  >& 表示把符号左边的内容以符号右边的形式输出






版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Shell脚本语法-- if/then/elif/else/fi

和C语言类似,在Shell中用if、then、elif、else、fi这几条命令实现分支控制。这种流程控制语句本质上也是由若干条Shell命令组成的,例如先前讲过的 if [ -f ~/.bashr...

shell测试和比较函数--test、[、[[、((、和 if-then-else

Bash shell 在当今的许多 Linux® 和 UNIX® 系统上都可使用,是 Linux 上常见的默认 shell。Bash 包含强大的编程 功能,其中包括丰富的可测试文件类型和属性...

linux shell学习笔记5( 条件判断:test,[],(),if/then )

1.bash把[[ $a -lt $b ]]看作一个单独的元素,并且返回一个退出码。退出码0为真,非零为假例如:a=1b=c[[ $a -lt $b ]]echo $?           ...
  • vah101
  • vah101
  • 2011-03-14 18:18
  • 12329

Linux Shell系列教程之(九)Shell判断 if else 用法

本文是Linux Shell系列教程的第(九)篇,更多shell教程请看:Linux Shell系列教程 判断语句是每个语言都必不可少的关键语法,Shell命令当然也不例外。今天就给大家介绍下S...

@while+do。。。done和case。。。esac或者if。。。then。。fi的嵌套使用以及if的!判断@

(一)while do。。。done和case。。。esac嵌套使用  cpsDeploy_menu(){ echo "   --- CPS APP Menu---   " echo "   h...

linux shell中 if else

在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串、判断文件是否存在及是否可读等,通常用"[]"来表示条件测试。...

UNIX & Linux Shell Scripting Tutorial - If/Else

UNIX & Linux Shell Scripting Tutorial If/Else In order for a script to be very useful, you will ne...

linux中shell逻辑表达式if else以及大于、小于、等于

在linux中shell是常用的命令程序,在shell中又存在很多常见的逻辑判断, 下面我们就来看看这些逻辑判断的用法以及规范。 比如可以比较字符串、判断文件是否存在及是否可读等,通常用"[]"来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)