per脚本菜鸟
⑴ 怎么使用脚本配置cisco路由器
首先,要进行running-configure配置的备份操作,当然设备早已经配置好了,tftp服务器也准备好了。那么,思科路由器配置如下: 一、BT无线网络破解: 1. username ccie privilege 15 password 0 ccie 2. ! 3. interface FastEthernet0/0 4. no ip address 5. shutdown 6. plex auto speed auto 7. ! 8. interface FastEthernet0/1 9. ip address 11.133.183.251 255.255.255.0 10. plex auto speed auto 11. ! 12. ip classless ip route 0.0.0.0 0.0.0.0 11.133.183.254 13. ip http server ip pim bidir-enable 14. ! 15. line vty 0 4 login local 二、按照下面的步骤进行思科路由器配置: (1)编写脚本 新建一个文件crt.vbs,尾缀为。vbs,内容如下: 1. #$language = "VBScript" 2. Ubuntu 论坛 #$interface = "1.0" Sub main ' turn on synchronous mode so we don't miss any data 3. crt.Screen.Synchronous = True On Error Resume Next 4. crt.session.Connect("/telnet 10.1.1.1") If Err.Number0 Then 5. crt.session.Connect("/telnet 10.1.1.1") End If 6. crt.Screen.WaitForString "Username:" crt.Screen.Send "ccie" & VbCr 7. crt.Screen.WaitForString "Password:" 8. crt.Screen.Send "ccie " & VbCr 9. crt.Screen.WaitForString "Router#" 10. crt.Screen.Send "config t" & VbCr 11. crt.Screen.WaitForString "Router(config)#" 12. crt.Screen.Send "int f0/1" & VbCr 13. crt.Screen.WaitForString "Router(config-if)#" 14. crt.Screen.Send "no sh" & VbCr 15. crt.Screen.WaitForString "Router(config-if)#" 16. crt.Screen.Send "end" & VbCr 17. crt.Screen.WaitForString "Router#" 18. crt.Screen.Send " run tftp://10.1.1.10" & VbCr 19. crt.Screen.WaitForString "Address or name of remote host [11.133.183.249]" crt.Screen.Send ""& VbCr 思科路由器 20. crt.Screen.WaitForString "Destination filename [router-confg]" 21. crt.Screen.Send ""& VbCr 22. Do while (crt.Screen.WaitForString("--- more ---",1)False) 23. crt.Screen.Send " " Loop ' 24. crt.Screen.Send "exit" & VbCr crt.session.disconnect 25. crt.Screen.Synchronous = False End Sub (2)懂vb的朋友应该很容易看懂的,上面内容的相关解释如下: crt.Screen.WaitForString "Username:"—从设备上返回的信息,也就是提示信息。 crt.session.Connect("/telnet 11.133.183.251")—需要telnet的设备。 crt.Screen.Send "ccie" & VbCr—向设备上发送的字符,即你在正常操作时输入的命令或字符 & VbCr—输入字符后并回车。 注:" "中部分为需要进行相应改动的地方,您只需要根据您的具体情况进行改动即可。 (3)应用脚本 打开CRT软件,点击Script菜单,点击RUN; 在弹出菜单中找到刚才编写的脚本存放的目录,并输入脚本的名字crt.vbs.这时可以看到脚本在执行,如下: 1. User Access Verification Username: ccie 2. Password: Netscreen 防火墙 3. Router#config t Enter configuration commands, one per line. End with CNTL/Z. 4. Router(config)#int f0/1 5. Router(config-if)#no sh ubuntu 输入法 6. Router(config-if)#end 7. Router# run tftp://11.133.183.249 Address or name of remote host [11.133.183.249]? 8. Destination filename [router-confg]? !! 694 bytes copied in 9.60 secs (77 bytes/sec) 9. Router#linux 论坛 思科论坛 Cisco
⑵ java 请问编写自动脚本
完整代码:
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Random;
importjava.util.regex.Pattern;
publicclassNumber{
/*
*编写自动脚本在1-500的范围内生成随机整数且不能为17的倍数共生成1000000个数字以英文逗号分隔,并去除以2开头以7结尾的数字
*/
publicvoidprintNunmer(){
List<Integer>list=newArrayList<Integer>();
//以2开头
Stringpattern0="^2[0-9]{0,2}$";
//以7结尾
Stringpattern1="^[0-9]{0,2}7$";
//定义一个变量作为判断条件
longi=1;
//在循环里让i自增当i>1000000跳出循环
while(i<=1000000){
//随机生成一个整数
Integercontent=newRandom().nextInt(500);
//当该整数不是17的倍数并且不以2开头和或不以7结尾时把该整数放入list中并且让i自增
if(!(content%17==0||Pattern.matches(pattern0,content+"")
||Pattern.matches(pattern1,content+""))){
list.add(content);
i++;
}
}
for(Integeri1:list){
System.out.print(i1+",");
}
System.out.println();
System.out.println("一共有"+list.size()+"个数字");
}
publicstaticvoidmain(String[]args){
Numbernumber=newNumber();
number.printNunmer();
}
}
测试结果:
⑶ 请编写awk 脚本sum_score.awk,计算每个人的平均测试成绩,每个测试的平均成绩,和每个队的平均成绩。
BEGIN{FS=","}
NR>1{
total=0
num=0
for(i=3;i<=NF;i++)
{
if($i+0>=0)
{
total+=$i
pertest[i]+=$i
num++
numtest[i]++
}
}
person[$1]=total/num
sumteam[$2]+=person[$1]
teamnum[$2]++
}
END{
print"name average"
for(nameinperson)
printname" "person[name]
print"---------------------"
for(i=1;i<=3;i++)
print"test"i" "pertest[i+2]/numtest[i+2]
print"-----------------------"
print"team average"
for(teaminsumteam)
printteam" "sumteam[team]/teamnum[team]
}
⑷ perl如何定时每天执行任务
alarm
per脚本在自动化方面经常用到,其定时器功能不用很浪费,但也得好好地用。
在perl中定时的一般用法为:
eval {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm $timeout;
$nread = sysread SOCKET, $buffer, $size;
alarm 0;
};
if ($@) {
die unless $@ eq "alarm\n"; # propagate unexpected errors
# timed out
}
else {
# didn't
}
经过timeou时间后,发送"alarm\n"的exception信息。eval块内的die中断当前用执行的程序,但是不会跳出整个程序,这也是为什么用eval的原因了。
后面还有一个对$@的unless判断,unless和if相反,如果$@不为"alarm\n",则throw exception.这条语句的条件正常条件下不会满足,也就是不会die.如果die被执行,程序会跳出,当前的exception信息会打印出来:
alarm
...propagated at xxx.pl line xxx.
当然这样的脚本我们不会让它这样执行,除非强行地想让程序跳出。
从上面的分析可知, $SIG{ALRM}中的handler,即sub函数体内代码,die与kill 'INT', -$$的作用类似。
-$$中的-其实没有什么意义,只是发一个'INT'中信号,对system执行的命令起作用。如果强行指定$$,中断信号不一定对eval内system执行语句起作用,仅仅是当前perl的进程发送中断信号。Perl中定时器alarm的die与kill
如果遇到这样的需求,要自动地运行一些相对独立的程序,而这些程序可能有些要挂掉,导致后面的程序无法运行,要想看到一个完整运行的结果,这时候alarm就会用上场。
per脚本在自动化方面经常用到,其定时器功能不用很浪费,但也得好好地用。
在perl中定时的一般用法为:
eval {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm $timeout;
$nread = sysread SOCKET, $buffer, $size;
alarm 0;
};
if ($@) {
die unless $@ eq "alarm\n"; # propagate unexpected errors
# timed out
}
else {
# didn't
}
经过timeou时间后,发送"alarm\n"的exception信息。eval块内的die中断当前用执行的程序,但是不会跳出整个程序,这也是为什么用eval的原因了。
后面还有一个对$@的unless判断,unless和if相反,如果$@不为"alarm\n",则throw exception.这条语句的条件正常条件下不会满足,也就是不会die.如果die被执行,程序会跳出,当前的exception信息会打印出来:
alarm
...propagated at xxx.pl line xxx.
当然这样的脚本我们不会让它这样执行,除非强行地想让程序跳出。
从上面的分析可知, $SIG{ALRM}中的handler,即sub函数体内代码,die与kill 'INT', -$$的作用类似。
-$$中的-其实没有什么意义,只是发一个'INT'中信号,对system执行的命令起作用。如果强行指定$$,中断信号不一定对eval内system执行语句起作用,仅仅是当前perl的进程发送中断信号。}
⑸ js脚本错误 提示未定义,但是java项目在我电脑本机没问题,在别的电脑上就出现错误
1、用IE9以上的Devleoper或是firefox的debug工具,将你的整个请求debug一下,出错的地方就一目了然了,然后估计就知道怎么办了。
2、我估计不是浏览器兼容器的问题,是代码写的有问题。
再检查下吧。
⑹ 求助关于在1个autohotkey的脚本修改,模拟鼠标点击。
;左键单击,x,y为坐标 ,具体的数字,加入循环就可以了
Loop,
{
ControlSend ,,{space},魔兽世界,,, ;
MouseClick, left, x, y;
Sleep, 1000 ;
if KeepWinZRunning = ; The user signaled the loop to stop by pressing Win-Z again.
break ; Break out of this loop.
}
⑺ 编写一脚本运行下就把网速限制破解了
我只能说 试试吧。 For NT XP 1. 到执行打 regedit 到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新增DWORD 名为GlobalMaxTcpWindowSize 数值改为 360000 选十进制 新增DWORD 名为TcpWindowSize 数值改为 360000 选十进制 新增DWORD 名为Tcp1323Opts 数值改为 1 选十进制 新增DWORD 名为DefaultTTL 数值改为 64 选十进制 新增DWORD 名为EnablePMTUDiscovery 数值改为 1 选十进制 新增DWORD 名为EnablePMTUBHDetect 数值改为 0 选十进制 新增DWORD 名为SackOpts 数值改为 1 选十进制 新增DWORD 名为TcpMaxDupAcks 数值改为 2 选十进制 之后到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ interface (这个 interface 要自己新增 指住Interfaces新增机码名为interface) 新增DWORD 名为MTU 数值改为 8000 (if use 10M) 1500 (if use 1.5M) 2000 (if use 3M) 选十进制 之后到 HKEY_USERS\DEFAULT\Software\Microsoft\Windows\CurrentVersion\InternetSettings 新增DWORD 名为MaxConnectionsPerServer 数值改为 00000100 选十进制 新增DWORD 名为MaxConnectionsPer1_0Server 数值改为 00000100 选十进制 之后到 Win XP让宽频速度提升50倍 Win XP的网路传输相关设定并没有完全发挥宽频上网效能的极限。 (修改前和后到以下测试区进行测试速度并记下所得的数据就可知道你的宽频速度快了多小) 本地测试区 外地测试区 1..开始→执行 ( 输入 REGEDIT 后按确定 ) 2.出现登陆编辑程式视窗,点选左边窗格的: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip 3.点选左边窗格里 Tcpip 后按鼠标右键,选择新增 DWORD。 4.将 DWORD 的名称设定为 DefaultTTL 后选择修改: 设定为十六进位,数值设为 80。 5.再点选左边窗格里 Tcpip 后按鼠标右键,选择新增 DWORD。 6.将 DWORD 的名称设定为 GlobalMaxTcpWindowSize 后选择修改:设定为十六进位,数值设为 7FFF。 完成后重新 动电脑和到测试区测试你的电脑~ (成功修改ge上黎话我知提升?几多wor~) 我朋友未改前测试就4327.8 Kbps 522.7 K bytes/sec 修改之后测试就 10853.7 Kbps 1269.9 K bytes/sec 专业版的 Windows XP默认保留了20%的带宽,其实这对于我们个人用户来说是没有多大的作用。与其闲着还不如充分地利用起来,方法如下:在“开始→运行”中输入 gpedit.msc,打开组策略编辑器。找到“计算机配置→管理模板→网络→QoS数据包调度程序”,选择右边的“限制可保留带宽”,选择“属性”打开限制可保留带宽属性对话框,选择“禁用”即可。经过这样重新设置就可以释放保留的20%的带宽了。
⑻ 通过shell脚本实现读取文件新增的每一行并追加到另一台服务器的文件末尾
我觉得你这个思路不好,按照你的想法,每增加一条,就需要运行一个往x.x.x.x服务器上发送一次的sh,如果A.log同时写入100,200,300,1000条你想过是什么概念吗?除了浪费了系统资源,还占用了连接带宽。所以实时更新我觉得这个思路不好。我建议按天比如24小时,上传一次a.log。
⑼ 如何编写一个shell脚本
问题:
1、请求在线api, 获取json格式的返回结果
2、解析json里面的一个值
3、将该值存储到文件
开发准备:
1、shell
快速入门:
#!/bin/sh
cd ~
mkdir shell_tut
cd shell_tut
for ((i=0; i<10; i++)); do
touch test_$i.txt
done
创建一个文件夹, 并在里面新建10个文件
2、curl
使用curl请求网络, 并获取返回值
curl基本用法:
$ curl www.sina.com
直接返回网页内容
$ curl -o [文件名] www.sina.com
将网页内容存储到文件中, 相当于wget命令
赋值操作:
response=$(curl www.sina.com)
echo $response
注意: =前后没有空格
jq
jq是命令行解析json的很好的工具
安装
直接到官网下载Linux64版本(我是用本地下载好后传上服务器的, 之前直接在服务器用wget下载一直报错Segmentation fault, 折腾好久~)
将其到bin目录
cp jq-linux64 /usr/bin/jq
使用
然后就可以愉快的使用jq命令了:
可直接查看官网Tutorial
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5'
返回的是一个json数组列表
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.'
使用.直接指向json的根节点
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.[0]'
[0]为取数组的第0位的对象
jq '.[0] | {message: .commit.message, name: .commit.committer.name}'
可用过连续的.操作获取对应json对象中的属性值, 上面的命令将会生成一个{message: "....", name: "...."}的json对象.
shell文件读写
1、写
方式一:
将ll的内容写入fileName这个文件中
>是覆盖, >>是在后面追加
ll >fileName
但是在书写.sh脚本的时候, 需要增加echo
echo ll>fileName
2、读
while read LINE
do
echo $LINE
done<fileName
fileName是即将读取的文件名
⑽ 帝国时代2的per文件有什么用,ai文件有什么用,AOK 文件有什么用
per是脚本文件
比如游戏中输入数字1,会如何。
都要per和AI的配合