putty乱码问题及解决
2015-11-20 12:22
190 查看
转自:http://blog.csdn.net/binyao02123202/article/details/8112025
序
最近正在忙于开发豆瓣数据同步,主要原因是豆瓣接口不给力,超过一定的访问量就抓不到它的数据。所以决定把豆瓣的数据导入到本地服务器,然后使用我们自己的数据。
导入数据的脚本我已经开发完了。现在就剩下命令行调用了。今天我就专门研究了下shell的应用,我把我的思考过程写一下。
准备
这是要使用的php测试脚本(并不是我的线上代码,只是一个样例)。
查看几个调用结果
错误1
错误2
正确的调用方式
通过crontab -e设置个定时执行脚本
shell 脚本
1、开始使用shell脚本编程
运行脚本
2、添加一个停止脚本
3、函数整理
shell 查漏补缺
两大问题:
1、是不是再写一个方法?
2、怎么传参啊?
第一个问题,直接用start方法就行了,没必要再写一个方法!——多写一个方法是要付出代价的。
第二个问题怎么解决,我忽然想到在我们安装开源软件的时候喜欢这么用,如下图
所以我决定也使用类似的方法作为参数传递之用。
具体看我下面的方法调用啊!
运行脚本
重点:
1、函数调用
start $2 # 这是函数 + 参数
函数中的 $1表示第一个参数!
2、字符截取
${1:2:2} 表示把$1这个变量里的值从第2个(下标是从0开始的)下标开始,截取2个长度的字符。
ID=${1#--id=}表示从$1这个变量开头删除最近匹配--id=的子串。
放入crontab中
我在php的源代码中的configure中发现了一个不错的输出字符的方法,与大家分享
运行效果
总结
这就是我今天收获的一些东西,shell我也不是很精通。如果大家有更好的建议,希望告知一、二。
推荐
序
最近正在忙于开发豆瓣数据同步,主要原因是豆瓣接口不给力,超过一定的访问量就抓不到它的数据。所以决定把豆瓣的数据导入到本地服务器,然后使用我们自己的数据。
导入数据的脚本我已经开发完了。现在就剩下命令行调用了。今天我就专门研究了下shell的应用,我把我的思考过程写一下。
准备
这是要使用的php测试脚本(并不是我的线上代码,只是一个样例)。
<?php if ($_SERVER['argc'] < 2) { echo "调用不正确!\n"; echo "调用方式:"; echo "php {$_SERVER['argv'][0]} { rsync_show | rsync_show_by_id 1231123 | rsync_douban }\n"; exit(-1); } function rsync_show() { echo "调用节目数据\n"; } function rsync_show_by_id($id) { if(empty($id)){ echo "缺少参数...\n"; exit(-1); } echo "根据指定ID开始导入节目数据\n"; } function rsync_douban() { echo "调用豆瓣数据层\n"; } foreach ($_SERVER['argv'] as $k => $v) { if($k == 0) continue; if($v == 'rsync_show_by_id'){ call_user_func($v, $_SERVER['argv'][2]); break; }else{ call_user_func($v); } } exit(0);
查看几个调用结果
错误1
错误2
正确的调用方式
通过crontab -e设置个定时执行脚本
shell 脚本
1、开始使用shell脚本编程
运行脚本
2、添加一个停止脚本
3、函数整理
shell 查漏补缺
两大问题:
1、是不是再写一个方法?
2、怎么传参啊?
第一个问题,直接用start方法就行了,没必要再写一个方法!——多写一个方法是要付出代价的。
第二个问题怎么解决,我忽然想到在我们安装开源软件的时候喜欢这么用,如下图
所以我决定也使用类似的方法作为参数传递之用。
具体看我下面的方法调用啊!
运行脚本
重点:
1、函数调用
start $2 # 这是函数 + 参数
函数中的 $1表示第一个参数!
2、字符截取
${1:2:2} 表示把$1这个变量里的值从第2个(下标是从0开始的)下标开始,截取2个长度的字符。
ID=${1#--id=}表示从$1这个变量开头删除最近匹配--id=的子串。
放入crontab中
我在php的源代码中的configure中发现了一个不错的输出字符的方法,与大家分享
运行效果
总结
这就是我今天收获的一些东西,shell我也不是很精通。如果大家有更好的建议,希望告知一、二。
推荐
相关文章推荐
- (转)开源协议的比较
- PHP版 判断两个字符串为互换词语
- 嵌入式core dump调试方法
- AngularJS 问题&解决 | 技巧
- IntelliJ IDEA WEB项目的部署配置
- Mac 批量删除 .svn 文件
- 低级程序员和高级程序员的区别
- 中木马了
- 低级程序员和高级程序员的区别
- Spring MVC
- Android之Intent的概念与应用
- Android编程实现擦除Bitmap中某一块的方法
- 内存泄露基础知识篇
- 输入表重建工具ImportREC
- Android AutoCompleteTextView自动提示文本框
- Android Context
- 欢迎使用CSDN-markdown编辑器
- android学习1——LinearLayout
- play war 内存溢出问题
- 分布式发布订阅消息系统 Kafka 架构设计