shell 數值運算子與read互動式賦值

2021-09-03 02:16:14 字數 3164 閱讀 9090

expr :數值運算

expr 變數1 運算子 變數2

運算子與變數之間必須又乙個空格

[root@bigdata111 shell]

# a=10

[root@bigdata111 shell]

# b=20

[root@bigdata111 shell]

# expr $a+$b

10+20

[root@bigdata111 shell]

# expr $a + $b

30[root@bigdata111 shell]

# expr $a - $b

-10[root@bigdata111 shell]

# expr $a \* $b

200[root@bigdata111 shell]

# expr $a / $b

0[root@bigdata111 shell]

# expr $a % $b

10[root@bigdata111 shell]

#

[root@bigdata111 shell]

# abc=$(expr $a + $b)

[root@bigdata111 shell]

# echo $abc

30[root@bigdata111 shell]

#

3.符號作用

3.1雙引號

雙引號 " " 當值存在空格或者特殊字元

[root@bigdata111 shell]

# webserver=nginx 1.11

bash: 1.11: command not found...

[root@bigdata111 shell]

# echo $webserver

[root@bigdata111 shell]

# webserver="nginx 1.11"

[root@bigdata111 shell]

# echo $webserver

nginx 1.11

[root@bigdata111 shell]

# echo $linux

[root@bigdata111 shell]

# linux=7.2

[root@bigdata111 shell]

# system=" centos $linux"

[root@bigdata111 shell]

# echo $system

centos 7.2

[root@bigdata111 shell]

#

3.2單引號

[root@bigdata111 shell]

# kernel="3.10 $linux"

[root@bigdata111 shell]

# echo $kernel

3.10 7.2

[root@bigdata111 shell]

# kernel='3.10 $linux'

[root@bigdata111 shell]

# echo $kernel

3.10 $linux

[root@bigdata111 shell]

#

3.3反撇號

主要用於命令替換,允許講某個命令的螢幕輸出結果賦值給變數

read命令用來提示使用者輸入資訊,從而實現簡單的互動式過程

[root@bigdata111 shell]

# read kernel

12[root@bigdata111 shell]

# echo $kernel

12[root@bigdata111 shell]

# read a b c

1 2 3

[root@bigdata111 shell]

# echo $a $b $c

1 2 3

[root@bigdata111 shell]

# read -p "please enter your name!" nem

bash: !

": event not found

[root@bigdata111 shell]# read -p "please enter your password:" password

please enter your password:123

[root@bigdata111 shell]

# echo $password

123[root@bigdata111 shell]

#

例項1:身份驗證

判斷使用者名稱是root,密碼是123456就能成功登陸;否則提示賬號或密碼錯誤

[root@bigdata111 shell]

# vi user.sh

#! /bin/bash

#this is a script

#user=root

read -p "please enter your username : " name

echo

"your username is : $name"if[

$name

== root ]

then

read -p "please enter your password : " password

if[$password

== 123456 ]

then

echo

"good! success"

else

echo

"username or password error"

fifi

執行:[root@bigdata111 shell]

# sh user.sh

please enter your username : root

your username is : root

please enter your password : 123456

good! success

[root@bigdata111 shell]

#

Swift 數值運算子

加法 減法 除法 減法 求餘 大部分oc 的運算差不多了 我這裡只說我了解和 oc不一樣的地方,有不全的請各位見諒。1 加法操作可以用來字串拼接 如 hello xiaoming 等於 helloxiaoming 2 求餘這裡的求餘不同於 oc swift 可以對浮點數進行求餘 8 2.5 0.5 ...

shell運算子操作 算術運算子

a 10 b 20 echo a b expr echo a b expr echo a b expr echo a b expr echo a b expr if a b then echo a等於b else echo a不等於b fiif a b then echo a不等於b else ec...

NOT運算子與 運算子

6.4.2 not運算子與 運算子 對於簡單的條件查詢,not運算子與 運算子的功能幾乎沒有什麼區別,那麼not運算子的優勢體現在 呢?答案是它可以與其他運算子組合使用,這一點是 運算子所不能實現的。在6.4.1節已經介紹了not運算子與in運算子組合使用的例子,下面給出乙個not運算子與betwe...