10.Shell操作符

Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。

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

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加:

#!/bin/bash

caoliu=`expr 2 + 2`

echo $caoliu

两点注意:

  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
  • 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

算术运算符

先来看一个使用算术运算符的例子:

#!/bin/sh
a=10
b=20
val=`expr $a + $b`
echo "a + b : $val"

val=`expr $a - $b`
echo "a - b : $val"

val=`expr $a \* $b`
echo "a * b : $val"

val=`expr $b / $a`
echo "b / a : $val"

val=`expr $b % $a`
echo "b % a : $val"

if [ $a == $b ]
then
   echo "a等于b"
fi

if [ $a != $b ]
then
   echo "a不等于b"
fi

结果:

a + b : 30

a - b : -10

a * b : 200

b / a : 2

b % a : 0

a不等于b

注意:

  • 乘号(*)前边必须加反斜杠(\)才能实现乘法运算;
  • if...then...fi 是条件语句,后续将会讲解。
时间: 2024-08-30 13:47:03

10.Shell操作符的相关文章

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 # 8.10 shell 特殊符_cut命令 --- - * 任意个任意字符 - ?任意一个字符 -  井号#注释字符  写命令的时候前面加一个#,那么这条命令就不生效,包括shell脚本里面也是,前面加个#表示这一行不生效,可以加一些注释说明的文字 ``` <[email protected] ~># #ls a.txt <[email

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee

五周第五次课 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 cut命令 8.11 sort_wc_uniq命令 sort-wc-uniq命令 特殊符号都会认为是0 sort -n  以数字排序 sort -n  默认排序 sort -rn 为倒序 wc 命令 uniq命令 原文地址:http://blog.51cto.com/wbyyy/2060163

8.10 shell特殊符_cut命令;8.11 sort wc uniq命令;8.12 tee

8.10 shell特殊符_cut命令 1. 特殊符号: * 通配符 ? 任意一个字符 # 注释字符(文件脚本里行首加#,表示此行不生效) \ 脱义字符 | 管道符 cut命令: -d(分隔符) -f(指定段号) -c(指定第几个字符) cut (分割) -d (分隔符) -f (指定段号) 1. 显示前两行,以:(冒号)分割,1,2,3,4段: cat /etc/passwd  内容输出 |head -2  指定前两行内容 |cut -d ":"  指定以冒号为分割符号 -f 1,2

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号

五周第五次课(1月12日)8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号相关测验题目:http://ask.apelearn.com/question/5437 扩展1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112 2. Linux特殊符号大全http://ask.apelearn.com/question/7720 3. so

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_t

8.10 shell特殊符号cut命令 :表示任意个任意字符?:表示任意单个字符#:表示注释字符\ 表示脱义字符| 表示管道符cut命令用来截取某一字段-d 指定分隔符,分隔符用双引号括起来 (-d " :"指定冒号分隔符)-c:指定第几个字符-f: 接的是第几块 8.11 sort_wc_uniq命令sort命令主要用于排序-t :后面加分隔符(与cut -d加分隔符一样)-n:表示纯数字排序-r:反向排序-u :表示去重wc -l :命令表示统计行数uniq -c :命令表示 8.

五周第五次课 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.1

8.10 shell特殊符号cut命令8.11 sort_wc_uniq命令8.12 tee_tr_split命令8.13 shell特殊符号下 shell特殊符号 *为通配符 代表所有 任意字符 ?为单一字符 为注释字符(在配置文件里面 或者是写命令的时候在前面加# 这条命令就不会生效) \脱义字符 取消原来的含义 | 管道符1.管道符相关的命令 $ 变量前缀 ,!$组合,正则里面表示行尾 :多条命令写到一行的时候用分号分隔 -用户家目录,正则表达式里表示匹配符 &把命令放到后台 (>正确

linux命令基础:shell操作符与键盘通配符

通配符 通配符是一类键盘字符 . 当查找文件夹时:当不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符. *             代替0个或多个字符. ?             代替一个字符. []            匹配中括号内的任意一个字符. 通配符示例: ls *.conf ls /home/*.sh ls h*.conf ls test?.c ls [abc]* shell命令重定向 <                   标准输入,将命令中接收输入的途

linux 学习10 shell 基础

10.1 Shell概述 1.Shell是什么 ?Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程序. ?Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令. 2.Shell的分类 ?Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文

Linux编程 10 (shell外部命令与内建命令,alias ,type命令)

一.  内部命令 Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但也有些细微差别.内部命令不需要使用子进程来执行,它们已经和shell编译成一体,作为shell工具的组成部分存在.不需要借助外部程序文件来运行.它们是一些比较简单的linux系统命令,如exit,history,cd,echo等. 要分区是外部命令还是内部命令可以使用type  来查看,如下图查看cd是内部还是外部命令: 1.1命令别名 alias 命令也是一个内建命令,允许你为常用的命令和参