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)
;;
*)
;;
这是语法。