微信網(wǎng)頁(yè)宣傳網(wǎng)站怎么做的百度搜索關(guān)鍵詞技巧
目錄
1.運(yùn)算符號(hào)
2.運(yùn)算指令
練習(xí)
1.運(yùn)算符號(hào)
運(yùn)算符號(hào) | 意義 |
---|---|
+ | 加法 |
- | 減法 |
* | 乘法 |
/ | 除法 |
% | 除法后的余數(shù) |
** | 乘方 |
++ | 自加一 |
- - | 自減一 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
= | 等于 |
+= | j+=i ->j=j+i |
*= | j*=i->j=j*i |
/= | j/=i->j=j/i |
%= | j%=i->j=j%i |
2.運(yùn)算指令
(()) //((a=1+2))let //let a=1+2 let是一個(gè)用于數(shù)學(xué)計(jì)算的Bash shell內(nèi)置命令,它可以對(duì)整數(shù)進(jìn)行加、減、乘、除等操作,并且還可以將計(jì)算結(jié)果賦值給一個(gè)變量expr //expr 1 + 2 -> 3 expr是一個(gè)用于數(shù)學(xué)計(jì)算的UNIX命令,它可以對(duì)整數(shù)進(jìn)行加、減、乘、除等操作bc //計(jì)算器bc << EOF //后續(xù)輸入作為bc命令中的內(nèi)容,并在遇到EOF時(shí)結(jié)束輸入,然后將其用作bc命令的輸入
1+2
EOF$[] //echo $[1+2]printf '%0.2f' .3 ==== 0.30
printf '%0.3f' .3 ====0.300
printf '%0.4f' .3 ====0.3000
練習(xí)
1分10秒的倒計(jì)時(shí)
SEC=10
MIN=1
SECS=$[$MIN*60+$SEC]
for ((;SECS>0;SECS--))
doSHOW_SEC=$[$SECS%60]SHOW_MIN=$[$SECS/60]if [ "$SHOW_SEC" -lt "10" ]thenecho -ne "After $SHOW_MIN:0$SHOW_SEC is end"elseecho -ne "After $SHOW_MIN:$SHOW_SEC is end"fisleep 1echo -ne "\r"
done
計(jì)算機(jī)隨機(jī)生成一個(gè)1-19之間的整數(shù)。
玩家輸入數(shù)字進(jìn)行猜測(cè),若猜測(cè)正確則游戲結(jié)束,若猜測(cè)錯(cuò)誤則根據(jù)實(shí)際情況提示“猜小了”或者“猜大了”。
玩家可以輸入“exit”結(jié)束游戲。
lucky_number=$(($RANDOM % 20))
while true
doread -p "please input your lucky number(0-19):" GUESSif [ "$GUESS" = "exit" ]thenecho "exit"exitelif [ "$GUESS" -lt "$lucky_number" ]thenecho "too small"elif [ "$GUESS" -gt "$lucky_number" ]thenecho "too big"elif [ "$GUESS" = "$lucky_number" ]thenecho "Bingo!!!" && exitfi
done
編寫(xiě)一個(gè)程序?qū)崿F(xiàn)網(wǎng)絡(luò)設(shè)備流量的實(shí)時(shí)監(jiān)控
要求:支持命令行參數(shù)傳入網(wǎng)絡(luò)設(shè)備的名稱。
每秒鐘輸出該網(wǎng)絡(luò)設(shè)備的流入流出流量,以byte/s為單位
if [ -z "$1" ]
thenecho please input net device following $0 !!
elif ifconfig $1 &> /dev/null
thenwhile truedoRS1=$(awk "/$1/{print \$2}" /proc/net/dev)TR1=$(awk "/$1/{print \$10}" /proc/net/dev)sleep 1RS2=$(awk "/$1/{print \$2}" /proc/net/dev)TR2=$(awk "/$1/{print \$10}" /proc/net/dev)echo -ne "Receive: $[$RS2-$RS1], Transmit: $[$TR2-TR1]"echo -ne "\r"done
elseecho no
fi
- 調(diào)用
hostnamectl
命令設(shè)置主機(jī)名為node<ID>.su.org
。 - 將IP地址設(shè)置為
192.168.81.<ID>
。 - 將
node<ID>.su.org
和192.168.81.<ID>
寫(xiě)入/etc/hosts
文件中。 - 統(tǒng)計(jì)當(dāng)前主機(jī)上有多少個(gè)網(wǎng)絡(luò)設(shè)備,如果大于1,則提示用戶選擇要配置的設(shè)備。
- 如果用戶要為某個(gè)設(shè)備配置IP,則提示用戶輸入該設(shè)備的IP地址,并將其寫(xiě)入到對(duì)應(yīng)的網(wǎng)絡(luò)配置文件中。
- 最后,使用
nmcli
重新加載網(wǎng)絡(luò)連接并啟用指定的網(wǎng)絡(luò)設(shè)備。
if [ -z "1" ]
thenecho Please input ID following $0 !!
elif echo $1 | grep -E '^[[:digit:]]{1,}$'
thenecho Please input A number following $0 !!hostnamectl set-hostname node$1.su.orgecho 192.168.81.$1 node$1.su.org >> /etc/hostsDEV_COUNT=`nmcli device show | awk 'BEGIN{N=0}/GENERAL.DEVICE/&&!/lo/{N++}END{print N}'`[ "$DEV_COUNT" -gt "1" ]&&{for DEVICE in `nmcli device show | awk '/GENERAL.DEVICE/&&!/lo/{print $2}'`doread -p "Do you want set $DEVICE: " STATEcase $STATE inyes|YES|Y|y)read -p "Please input ip address: " IP
cat > /etc/sysconfig/network-scripts/ifcfg-$DEVICE <<EOF
DEVICE=$DEVICE
ONBOOT=yes
BOOTPROTO=none
IPADDR=$IP
PREFIX=24
NAME=$DEVICE
DNS1=114.114.114.114
EOF;;no|NO|n|N);;*)esacnmcli connection reloadnmcli connection up $DEVICEdone
}||{cat > /etc/sysconfig/network-scripts/ifcfg-$DEVICE <<EOF
DEVICE=$DEVICE
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.81.$1
PREFIX=24
NAME=$DEVICE
DNS1=114.114.114.114
EOFnmcli connection reloadnmcli connection up $DEVICE
}
fi