linux 下shell 脚本 if条件,想写 a=0且b=0 或者c!=0,应该怎么写啊、我写成if [$a -eq 0] && [ $b -eq 0

作者&投稿:臧轮 (若有异议请与网页底部的电邮联系)
在linux下shell脚本中if中用到or怎么写~

linux下shell脚本的逻辑的or用运算符 || 表示,if中用到or的写法实例如下:
a=10
b=20
if [[ $a -lt 50 || $b -gt 50 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
其中$a -lt 100表示a50为假;真 or 假为真。
所以输出结果为:返回 true

扩展资料
1、shell中流程控制if基本语法介绍:
if condition
then
command1
command2 ...
commandN
fi



2、shell中的另一个逻辑运算符and (&&)用法实例介绍:
a=10
b=20
if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
输出结果为:返回 false

可以使用 if-elif-else 语法来写多条件语句。
1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:

2、if -elif-else 语法的具体格式--if单条件多分支,书写方法如下:

3、实例 - if单条件多分支,这个实例的输出结果是:a 小于 b。

4、实例 - if多条件多分支,这个实例输出结果是:a 等于 b,或 a小于10。

扩展资料
1、shell语法注意事项
shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格,如果在需要空格的地方没有打上空格,就会报错。
如if [ 1 == 1 ];then echo "abc";fi中如果在少写了if后面的空格就报错:

2、 shell语法中[[ ]]和[ ]的主要区别
(1) [ ] 实际上是bash 中 test 命令的简写。即所有的 [ expr ] 等于 test expr。对 test 命令来说, 用 -eq 要进行数字比较,而你此时传入字符串,就报错了。
(2) [[ ]] 是内置在shell中的一个命令,它比test强大的多。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式)。逻辑组合可以不使用test的-a,-o而使用&& ||。

root@Bizbox:~# a=0
root@Bizbox:~# b=0
root@Bizbox:~# c=5
root@Bizbox:~# if [ $a = 0 -a $b = 0 ]&&[ $c != 0 ]; then
> echo success
> fi
success
注意方括弧中前后的空格!

这个 [$a 要空格 [ $a 这个0] 也呀加个空格,只是shell的格式,一般会犯错误的

if [ $a -eq 0 ] || [ $b = 0 ] && [ $c -ne 0 ]


秦都区18979025677: linux环境下shell脚本编写 -
权委沙棘: 假设.out文件在/home目录下: 1.在命令行窗口下直接敲 /home/.out 回车就运行了. 2.shell脚本的话,如下: #!/bin/bash /home/.out =========================================== 要求不高的话,可以看《linux就该这么学》或者《鸟哥linux私房菜》中专门讲shell脚本的那章,很快能入门. 系统一些的学法,可以看《linux命令行和shell脚本编程宝典》,里面关于基础的、高级的用法都有讲到,很完整. =========================================== 不知道我对你问题的理解对不对头.:)

秦都区18979025677: linux下如何编写shell脚本 - 2012 -
权委沙棘: 我对shell脚本的认识,除了执行过同事写的shell 脚本外,其他一无所知,为了让自己强大,我决定自己研究shell脚本,也许在你看来很简答,没必要说这么多废话,但是我希望在我的技术blog里记录下来每次的学习的动机,与思想过程,并且我...

秦都区18979025677: linux下的shell脚本. -
权委沙棘: #!/bin/bash function calc() { if [ $1 -eq 100 ] then echo "num = 100" elif [ $1 -gt 100 ] then echo "num > 100" elif [ $1 -lt 100 ] then echo "num fi } while [ 1 ] do read -p "putin num:" a calc $a if [ $a -eq -1 ] then echo "num = -1 exit!" break fi ...

秦都区18979025677: Linux Shell脚本 -
权委沙棘: 一般以#!/bin/sh 开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了.Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序.以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构).当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用 sh ./file.sh 方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他).

秦都区18979025677: Linux 简单Shell脚本编程
权委沙棘: 有一个方法可以实现 脚本大概执行过程是这样的 输入文件名以后把文件名赋予变量A 然后LS -AL 列出当前目录下的所有文件并sed 提取出文件名 然后用FOR循环逐个对比变量A和文件名 如果有相同的文件名 则ls -l 文件名 并用sed提取表示文件类型的那个字符 如果字符是D 则echo 是目录 如果字符时- 则echo 是一般文件 其他符号类似 如果对比完了没有相同的 就echo 没有此文件 好了 思路是这样的 脚本就不写了 另外推荐一本书 《linux命令、编辑器与SHELL编程》 我从头到尾看完了 除了C的那部分没看完以外 这本书如果你能完整的看完 对于提升你的水平很有帮助

秦都区18979025677: linux中如何编写shell脚本? -
权委沙棘: 用VIM在终端中 vim shell.sh 回车然后写脚本,.保存然后./shell.sh运行或者bash空格shell.sh 运行...

秦都区18979025677: 在linux中,如何编写一个shell脚本来实现如下功能? -
权委沙棘: #!/usr/bin/expect set timeout 10spawn ssh pcs@11.17.1.2expect "*Password*"send "密码\r"expect ">"send "ls;cd back/rate/;run.sh\r"expect eof

秦都区18979025677: shell脚本 ,在linux 下运行一个shell脚本登陆远程unix 服务器,请问这个脚本如何写? -
权委沙棘: #!/usr/local/bin/expectset timeout 10spawn ssh root@ipexpect "*password*"send "123456\r"expect "#"send "service crond restart\r"expect eof

秦都区18979025677: 什么是shell脚本 -
权委沙棘: shell脚本默认是Linux上的概念.shell是人机交互的接口,是包在Linux内核外的一个“壳”,翻译Linux用户输入的指令(shell命令)并交由内核执行.有点类似DOS.一组shell命令写在一个文件里,通过逻辑控制语句控制什么条件下执行什么语句,以完成特定的自动化操作任务.这个文件就是shell脚本.所做的任务可以是文本处理,可以是数学计算,可以是监控值守,可以是数据库操作,等等.

秦都区18979025677: 在Linux执行shell脚本的命令是什么 -
权委沙棘: 如果你shell脚本名字是a.sh 你可以 sh a.sh 或者 . ./a.sh

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网