
shell
灰太狠9527
假如今天是最后一天
展开
-
【SHELL】一个非常有趣的问题
使用SHELL解决的一个问题现在需要代码合并,从SVN上合并到GIT上,GIT上的代码头文件和源文件分布在不同的文件夹下,直接使用Beyond compare来比较的话,不是什么好的体验,非常麻烦。于是我在想有什么好办法能更快速的解决这个问题。问题梳理: - 文件夹名称发生变化 - 文件内容可能有变化,需要对比同步 - 文件名保持不变终于想到一个相对简便的方法,先分别把需要对比的.h/.原创 2016-06-02 10:23:03 · 354 阅读 · 0 评论 -
交叉编译OPENSSH(一)
本文分两部分,第一部分介绍目标文件编译以及目标板上的一些操作要求,第二部分介绍交叉编译脚本介绍(交叉编译OPENSSH(二))。第一部分:目标文件编译以及目标板上的一些操作要求一.服务器编译下载指定的文件,并建立如下目录结构:root@test:/home/liufei/github/shell/openssh# tree ..├── compressed│ ├── openssh-4原创 2016-11-23 15:36:44 · 1835 阅读 · 0 评论 -
ssl/scp等自动连接处理
在完成交叉编译OPENSSH后,又有一个需求:要求自动登录服务器,并从服务器传输文件。如何处理呢?这里要用到expect,分别实现一个发送和接收程序。参考此程序可以实现ftp/ssh等需要用户输入的场景。server_send.sh#!/usr/bin/expect -fset password 123456 #变量赋值set master_file [lindex $argv 0] #将第一个输原创 2016-11-23 17:31:27 · 599 阅读 · 0 评论 -
交叉编译OPENSSH(二)
上一节交叉编译OPENSSH(一)中编译openssh的时候,用到了几个脚本,如下所示:root@inspur:/home/liufei/github/shell/openssh/compressed# ls -ltotal 5608-rw-r--r-- 1 root root 967395 11月 23 14:38 openssh-4.6p1.tar.gz-rw-r--r-- 1 root原创 2016-11-23 16:09:35 · 1872 阅读 · 0 评论 -
关于shell中的${},##和%%的记忆
关于${}用来截取字符串的方法如下所示:file=/dir1/dir2/dir3/my.file.txt${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#*.}:删掉第一个 . 及其左边的字符串:file.txt${file##*.}:删原创 2016-11-30 11:16:57 · 583 阅读 · 0 评论 -
Git学习与训练
在gitlab上,每个人需要fork远程分支到自己的目录下,然后在自己的目录下进行开发,开发完成将代码上传到自己的远程仓库,然后通过gitlab服务器发起merge request,同步到主仓库中。为了更快掌握git相关操作,这里设置一项训练,如下:**假设远程仓库为player_oop,本地克隆后为my_player_oop,远程仓库比本地更新,需要同步远程代码到本地,这里不采用git pull的原创 2016-07-27 13:03:34 · 1551 阅读 · 0 评论 -
betterdownload.sh: 42: betterdownload.sh: Syntax error: "(" unexpected
**将betterdownload.sh放到另外一台虚拟机上下载,有如下错误: betterdownload.sh: 42: betterdownload.sh: Syntax error: “(” unexpected**跟踪后打印如下:root@ubuntu:/home/liufei/pms# sh -x betterdownload.sh + target_dir=default_git原创 2016-06-12 15:08:17 · 251 阅读 · 0 评论 -
【SHELL】如何让一个脚本有错误时停下来?
今天写了一个自动编译的脚本,发生有错误的时候直接编译过,如果不注意会被忽悠。有没有什么办法可以在脚本运行错误的时候,自动停下来呢?在网上查了一下,参考http://bbs.chinaunix.net/thread-1243237-1-1.html,然后作了实践。主要方法是在脚本后面增加 ||exit 即可。代码如下:./build.sh ../configs ../install "C" || ex原创 2016-06-03 12:25:28 · 3789 阅读 · 0 评论 -
【SHELL】批量下载GIT代码
现在下载代码由SVN更换成GIT,代码仓库路径也从原来的一个变为多个,路径较多,记忆复杂,手工处理较慢。那有没有一种办法可以简单、方便处理呢?当然有,这里将介绍我今天使用shell处理的方法。已知: 1、输入:有类似如下的代码路径:git@example.com:framework/app_manager.git 2、输出:将所列出的代码路径全部下载到指定的文件夹下以下为SHELL代码:#!/b原创 2016-06-02 19:10:11 · 3573 阅读 · 2 评论 -
【SHELL】如何对比两个数据库差异?
今天一个同事碰到一个问题:要比较两个数据库文件的差异,数据量太大,一个一个看是不现实的,有什么办法更快一点呢?中午睡觉的时候,作了一些尝试,终于想到一个办法。具体的办法如下:一、先安装sqlite3,在ubuntu上使用sudo apt-get install sqlite3。如果想了解sqlite3的操作,请参考:http://blog.youkuaiyun.com/yangchao228/article/d原创 2016-06-07 15:35:03 · 3996 阅读 · 0 评论 -
批量修改Makefile内容
提出问题在64位linux上运行某程序时,发现其需要32位的库,其中一个就是fontconfig-2.7.0.tar.gz。然后在linux上编译fontconfig-2.7.0.tar.gz,操作如下:./configure --prefix=`pwd`/../install/makemake install将编译出来的库放到软件中,运行出错。编译出来是64位的。 root@inspur:/原创 2016-11-28 11:41:42 · 760 阅读 · 0 评论