linux shell编程
文章平均质量分 71
theArcticOcean
Website: https://www.weiy.city
Wechat Subscription Account: 胡桃小院
展开
-
【shell script】变量及其相关操作
shell script中的变量不分数据类型,只有数值和字符串两种值。有几个点需要注意: 变量定义时不能加上$ 中间不能有空格 首字符是字母 不能使用关键字和标点符号。~相关的内置变量 variable using ~username user’s home directory ~+ $PWD =~ 正则表达式匹配 ~- 上一个工作路径eg: cd -原创 2017-09-10 13:31:21 · 603 阅读 · 0 评论 -
【linux shell】 find 常用选项
find path -name “通配符”通配符搜索find path -iname file忽略大小写搜索find path ( -name “通配符1” -o “通配符2” )-o表示或者,匹配其中任意一个正则表达式[edemon@CentOS tmpDir]$ lsd1 d2 d3 f1 f2 f3[edemon@CentOS tmpDir]$ find . \( -name "原创 2017-08-08 07:33:34 · 601 阅读 · 0 评论 -
QT 程序在windows和linux上的打包
qt程序打包 for linux方法:将release方式编译的可执行文件放到一个新建的文件夹中,然后将所有需要的库文件复制到同目录下。使用ldd查阅需要的库文件。 将所有的库文件复制到当前目录,然后运行。 此处可以写一个脚本。#! /bin/bashEXE='Calender'PWD=`pwd`files=`ldd $EXE | awk '{ if(match($3,"^/"))原创 2017-03-29 19:38:09 · 5485 阅读 · 0 评论 -
让 rm -rf * 不再那么可怕
在Linux中,rm是一个高效的工具,但是有时能带来灾难性的后果。敲一个rm -rf *就可能让今天的工作白做了,及时发现问题的话用debugfs也许能挽回损失,但是万一,万一磁盘数据被覆盖了呢? 接下来,做点事儿改变一下rm的行为。1. 创建myrm脚本因为exit会使得子shell退出,如果将此脚本写成一个函数放到.bashrc的话,中间一旦出错就会导致终端窗口关闭。故单独写一个脚本。TRAS原创 2017-05-27 15:42:10 · 17406 阅读 · 3 评论 -
1>&2, 2>&1, &>
进行一个标准输出、标准错误输出分流的试验:edemon@ubuntu1:~/workspace$ ./test.shhello world./test.sh: line 3: pt: command not foundedemon@ubuntu1:~/workspace$ ./test.sh 1>out 2>erredemon@ubuntu1:~/workspace$ vim -O out原创 2017-05-13 12:03:28 · 679 阅读 · 0 评论 -
awk初步
认识awkAwk是一种小巧的编程语言及命令行工具。它非常适合服务器上的日志处理,主要是因为Awk可以对文件进行操作。它同样使你能够处理数据并转换数 据。 gawk是最新的版本,使用它可以做到数据查找,抽取文本中的数据,创建管道流。 awk有一个主输入循环,次循环反复执行,直到终止条件被触发。我们写好的代码被嵌入到朱输入循环框架中执行。 BEGIN在主输入循环之前执行(未读取输入文件行之前),原创 2016-09-25 20:39:20 · 839 阅读 · 0 评论 -
shell编程 (1) —— 基础
关于bashbash的内部命令:shell在启动时就调入内存。 bash的外部命令:使用时才从硬盘中读入内存。命令通配符: ? : 匹配任意一个字符 [] : 匹配括号中的任意单字符 * : 匹配任何的字符或者字符串,包括空字符串shell程序shell程序本质是普通文本文件,加上可执行权限后可以让shell执行文本中的程序。#! shell compiler# filename原创 2016-09-03 11:03:37 · 653 阅读 · 0 评论 -
shell编程 (2) —— 基础
shell 语法for循环#!/bin/bashfor language in c c++ java python shell_script; do echo "my ${language} skill is good." #变量左右加上{}done变量变量的二次赋值#!/bin/bashname="Elena" # = 左右不能有空格echo "hello, my nam原创 2016-10-29 15:32:39 · 953 阅读 · 0 评论 -
shell编程 (3) —— 调试
shell调试技巧shell脚本虽然不像高级语言那样有专门的调试工具和调试机制,但是前辈们仍然想出了一些办法来进行shell脚本的错误检测。trapshell脚本在执行的时候会产生三伪信号(不是操作系统发出的信号)。我们可以使用trap捕获信号然后进行shell的调试。 shell伪信号的产生: 信号 产生条件 EXIT 正常退出 ERR 返回非零状态码 DEBUG原创 2016-11-27 14:24:13 · 825 阅读 · 0 评论 -
杂记 (4) —— linux and coding
记录linux文本界面下的计算器,bc. 可进行的操作:+ 加法 - 減法 ###乘法 / 除法 ^ 指数 % 余数 启动: bc 离开: quitawk编程,非法引用数组$ ./split.shawk: line 5: illegal reference to array elements$ cat split.sh #!/bin/bashawk 'BEGIN{原创 2016-10-22 21:31:27 · 878 阅读 · 0 评论 -
sed初步
sed相关知识sed是一个非交互式的文本编辑器,刻意地文本文件和标准输入进行编辑。sed可以一次性处理所有的编辑任务。 sed仅仅编辑源文件的副本,如果要保存编辑的结果则可以输出重定向至另一个文件。 三种使用sed的方法: sed [option] 'sed command' inputfilesed [option] -f sed_script inputfile./sed_script原创 2016-10-01 15:19:35 · 1070 阅读 · 0 评论 -
【linux shell】grep 常用选项
color选项增加颜色渲染使用拓展正则表达式如果要使用正则表达式,需要添加-E选项——这意味着使用扩展(extended)正则表达式。或者也可以使用默认允许正则表达式的grep命令——egrep。例如: $ grep -E "[a-z]+" filename #或者 $ egrep "[a-z]+" filename仅输出匹配结果使用 -o[root@CentOS ~]# grep word r原创 2017-08-09 23:08:39 · 1737 阅读 · 0 评论