linuxshell的實現
腳本內容
#!/bin/bash
mkdir -p /var/run/fruinfo/
echo $1 > /var/run/fruinfo/LCHAS
mkdir -p /var/run/frus/
echo $2 > /var/run/frus/slot
假設文件名a.sh
執行時使用./a.sh 1 2
就可實現你要求的功能
② 在linux中,如何編寫一個shell腳本來實現如下功能
#!/usr/bin/expect
set timeout 10
spawn ssh [email protected]
expect "*Password*"
send "密碼\r"
expect ">"
send "ls;cd back/rate/;run.sh\r"
expect eof
③ linux shell 如何實現浮點運算
linux shell本身只是一個腳本語言,使用操作系統的命令或已安裝的程序進行運算。你出的題咋一看有難度,實際上是個偽命題,只要有個已經安裝好的支持高精度浮點運算的支持外部調用的計算器程序,寫個shell實現這個命題太簡單了。如果只是依賴操作系統內置的計算器,那就復雜很多。需要考慮把數字轉成文本,進行截斷後,再轉成數字,分段進行計算,然後再將結果進行組合,最終結果需要以文本方式輸出,理論上也可以實現。
④ linux下shell編程怎麼實現以下程序
最簡便的方法
1、groupadd class1 &&for i in `seq -w -s " " 1 10`;do useradd -g class1 std$i ;done
2、for i in `seq -w -s " " 1 10`;do userdel -r std$i ;done && groupdel class1
⑤ linux菜鳥求教編寫shell腳本
[-e /root/test.sh ] && echo 文件存在沒有操作 || cp /tmp/ceshi.sh /root/
⑥ 在Linux下利用Shell腳本編寫一程序,實現1到100之和。
#!/bin/bash
for num in {1..100}
do
sum=$(($sum + $num))
done
echo $sum
#註:bash中產生序列的方法用 seq 1 100 或者 {1..100} 注意其中不能有空格!
#後面的語法比較簡單,求值用 $(( ... )) 中間的省略號表示表達式;
#shell語法 賦值的時候變數直接寫名字,取值的時候要在變數名前面加上 $ .
#附帶,命令行一句話的版本:
for num in {1..100};do sum=$(($sum + $num));done;echo $sum
⑦ linux下shell如何實現以下功能
Linux中增加軟路由的兩種方法
第一種:
route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0
/* 增加一條網路172.16.6.0/24 經過172.16.2.254 eth0 */
/* -net增加網路 -host增加主機 netmask 子網掩碼 gw 網關 dev 裝置,設備,這里是你的網卡名*/
route del gw 172.16.2.254 /* 刪除默認網關172.16.2.254 */
route del -net 172.16.86.0/24 /* 刪除默認網路172.16.86.0 */
route /* 顯示當前路由表 */
常用的是這種方式,但有時你在刪除或一條軟路由時會不起作用,會有什麼提示:
SIOCADDRT: 無法接觸網路
所以這時用如下的這種方法就可以了
第二種:
實現的功能和上面的一樣
ip route add 172.16.6.0/24 via 172.16.2.254 dev eth0
ip route del gw 172.16.2.254
ip route del 172.16.6.0/24 dev eth0
ip route
刪除的方法:
添加路由:
route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0
刪除路由:
route del -net 10.0.0.0 netmask 255.0.0.0 dev eth0
添加默認路由:
route add default gw 10.0.0.1
刪除默認路由:
route del default gw 10.0.0.1
或者
route del default
---------------------------------------------------------------------------------------
linux下添加路由的方法:
一:使用 route 命令添加
使用route 命令添加的路由,機器重啟或者網卡重啟後路由就失效了,方法:
//添加到主機的路由
# route add –host 192.168.168.110 dev eth0
# route add –host 192.168.168.119 gw 192.168.168.1
//添加到網路的路由
# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1
//添加默認網關
# route add default gw IP
//刪除路由
# route del –host 192.168.168.110 dev eth0
二:在linux下設置永久路由的方法:
1.在/etc/rc.local里添加
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254
2.在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
⑧ 在Linux下用Shell程序編寫實現如下功能
#!/bin/bash
#
read -p "please input a year to judge(such as:2015) or input string \"end\" to exit:" y
while [ "$y" != "end" ]
do
if [ $[ $y % 4 ] -eq 0 ] && [ $[ $y % 100 ] -ne 0 ];then
echo "$y is runnian."
elif [ $[ $y % 400 ] -eq 0 ];then
echo "$y is ruannian."
else
echo "$y is not runnian."
fi
read -p "please input a year to judge(such as:2015) or input string \"end\" to exit:" y
done
#end
⑨ linux 編寫一個shell腳本文件,實現以下功能
#!/bin/bash
whiletrue
do
cat<<END
啟動Apache(a)
啟動Mysql(m)
啟動Samba(s)
啟動ftp(f)
啟動DNS(d)
退出腳本(E)
END
read-p"請輸入要執行的操作:"choice
case$choicein
a)
servicehttpdstart
;;
m)
servicemysqldstart
;;
s)
servicesambastart
;;
f)
servicevsftpdstart
;;
d)
servicenamedstart
;;
E)
exit
;;
*)
echo"輸入有誤,請輸入字母a/m/s/f/d啟動相應的服務!"
;;
esac
done
這是模板,純手打。其中的service httpd start之類的可以換成具體的命令,也可以加上if判斷。
針對按什麼鍵執行什麼操作用case判斷最方便
其中
a)的意思是如果$choice等於a的話則執行什麼什麼
m)的意思是如果$choice等於m的話則之姓什麼什麼
其餘同理
*)的意思是如果沒有以上的a) m) f)...的話就會匹配到這一行,就會輸出:輸入有誤,請輸入字母a/m/s/f/d啟動相應的服務。
read -p "請輸入要執行的操作:" choice //這是個互動式的命令,會輸出"請輸入要執行的操"作到顯示器上,然後將你輸入的值賦值給變數choice 然後再用case判斷變數choice。
if判斷也可以。根據個人喜好來。
case xxx in
x)
;;
y)
;;
*)
;;
這是語法。