
shell
文章平均质量分 62
lamdoc
这个作者很懒,什么都没留下…
展开
-
stat 命令
stat是linux中经常被忽略的一个命令,常被用来显示文件的详细信息。$ stat --helpUsage: stat [OPTION]... FILE...Display file or file system status. -L, --dereference follow links -f, --file-system display file sys原创 2013-04-16 14:37:07 · 556 阅读 · 1 评论 -
shell 脚本中删除所有进程
arm机器上删除所有进程比较简单,x86上进程就多了,就要复杂一些:如果要删除名为 "abc" 的进程,可以用以下步骤完成! 1. 查看进程,比如说有名为 abc 的进程,可以这样查看它的详细信息:ps -aux | grep -i "abc" //表示查看所有包含abc字符的进程;2. 去掉包含grep本身命令的情况:ps -aux | grep -i原创 2013-09-25 16:33:06 · 768 阅读 · 0 评论 -
shell 脚本实现的守护进程
# #!不是注释符,而是指定脚本由哪个解释器来执行,# #!后面有一个空格,空格后面为解释器的全路径且必须正确。#! /bin/ashPRO_PATH=""# testpro为要守护的可执行程序,即保证它是一直运行的PROGRAM="testpro"# 此脚本一直不停的循环运行,while 与 do 放在一行上要在条件后加分号# if、then、while、do等关键字或命令是作转载 2013-10-15 15:41:22 · 659 阅读 · 0 评论 -
echo 的使用及其参数
功能说明:显示文字。语 法:echo [-ne][字符串]或 echo [--help][--version]补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。参 数: -n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声;\b 删除前原创 2013-04-11 11:33:40 · 496 阅读 · 0 评论 -
shell数组使用技巧
.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo $a 一对括号表示是数组,数组元素用“空格”符号分割开。.数组读取与赋值得到长度:[chengmo@centos5 ~]$ echo ${#a[@]}用${#数组名[@或*]} 可以得到数组长度读取:[chengmo原创 2013-04-07 21:52:09 · 382 阅读 · 0 评论 -
shell 中的 if 使用
1 概要 有时候你需要指定shell脚本中的依靠命令的成功与否来实施不同过程的行为。 if 结构允许你来指定这样的条件。最精简的 if 命令的语法是: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fiTEST-COMMAND 执行后且它的返回状态是0,那么 CONSEQUENT-COMMANDS 就执行。返回状态是转载 2013-04-11 12:26:35 · 350 阅读 · 0 评论 -
sed shell编程
sed是一个非交互性文本流编辑器,是一种重要的文本过滤工具。调用(三种方式)1.使用sed命令行sed [选项] sed命令 输入文件2.使用sed脚本文件sed [选项] -f sed脚本文件 输入文件3.将sed命令插入脚本文件,并使sed脚本可执行。sed浏览输入文件时,缺省从第一行开始,有两种方式定位文本1)使用行号(可以是数字,和是行号范围)2)使用正原创 2012-07-16 09:54:25 · 424 阅读 · 0 评论 -
shell 中使用grep 来判断
在shell中,经常会用到grep 检索某个文件,查询是否有字符匹配, 用来判断流程:如:查询打印出来的log中,是否有想要的字符串:/usr/app/startup > /usr/config.loggrep "NETMASK" /usr/config.logif [ $? -ne 0 ]; then sleep 70 echo "sleep 70s"原创 2013-05-15 13:40:31 · 6184 阅读 · 0 评论 -
if_then_fi shell应用
流程控制语句本质上也是由若干条Shell命令组成的,例如:if [ -f ~/.bashrc ]; then . ~/.bashrcfi其实是三条命令:if [ -f ~/.bashrc ]是第一条then . ~/.bashrc是第二条fi是第三条。如果两条命令写在同一行则需要用;号隔开,一行只写一条命令就不需要写;号了then后面有换行,但这条命令没写完,S原创 2012-07-16 09:53:44 · 623 阅读 · 0 评论 -
killall
Linux命令:killall用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,这真是一个太好用的命令了。常用参数格式:killall 杀死指定名字的进程。实际上是向名字为的所有进程发原创 2013-09-25 16:44:15 · 547 阅读 · 0 评论 -
shell获得子后台进程返回值的方法
我们用“&”把进程放入后台以后,如果需要了解进程的执行情况,可以使用wait函数。默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值。而以子进程的pid作为参数调用wait时,wait便能够返回该子进程的退出状态了。具体操作如下:#!/bin/bashcommand1 &command2 &command3 &for pid in $(jobs -p)dowait原创 2013-09-12 14:58:18 · 1717 阅读 · 0 评论 -
shell中创建子进程
shell中创建子进程只要用 & 操作符就行了,表示在后台运行.可以利用wait 同步所有子进程结束.实例代码如下:#!/bin/shsleep_1(){ sleep 10000000}i=1for i in `seq 10`do echo "$i" multiply=`expr $i \* 10` echo原创 2013-09-09 11:39:44 · 1917 阅读 · 0 评论 -
test命令
linux test命令详解1. 关于某个文件名的『类型』侦测(存在与否),如 test -e filename -e 该『文件名』是否存在?(常用) -f 该『文件名』是否为文件(file)?(常用) -d 该『文件名』是否为目录(directory)?(常用) -b 该『文件名』是否为一个 block device 装置? -c 该『文件名』是否为一个 c转载 2013-06-27 09:10:25 · 417 阅读 · 0 评论 -
Shell编程中Shift的用法
位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell 在不原创 2013-06-27 10:05:44 · 314 阅读 · 0 评论 -
shell中for循环总结
shell中的for循环用法的总结:1、 for((i=1;ifor (( i=0; i<10; i++)); doecho $idonefor (()) 方式并不是总是好使,在busybox的ash中就会报 syntax error, 所以还是建议用下面的for循环用法2、在shell中常用的是 for i in $(seq 10)for File in /proc/转载 2013-06-28 16:54:02 · 449 阅读 · 0 评论 -
比较两文件是否相同 cmp_diff
cmp file1 file2 cmp比较两个文件,给出差别字符的位置和行号。 比较方法:对两个文件的比较是逐字比较的。diff file1 file 比较两个不同的文件或不同目录下的两个同名文件。 比较方法:diff试图找到file1和file2中连续相同行,这些相同行被改名为hunk的差别行所隔开。需要注意的是diff进行比较的单位是行,这点跟cmp不同原创 2013-07-24 11:56:44 · 623 阅读 · 0 评论 -
把命令输出值赋值给变量
一般命令的返回值赋值给变量很常见, 如下:var=$?命令的输出值赋值给变量就不多了,可以用如下方法:var=$(cat /sys/bus/usb/devices/1-1.1/idProduct)echo "var = $var"运行结果如下:$ ./assign_varialbe_from_cmd.shvar = 014d原创 2013-07-25 15:09:59 · 768 阅读 · 0 评论 -
shell 中定义函数
一、无参函数没有参数的函数,直接调用实现某些功能。函数编写在脚本中,与其他命令一起存储,但是函数必须定义在脚本的最开始部分;也就是说,包含函数的脚本中,所有的函数都得定义在脚本的最开始部分;然后在定义函数之后调用或者在其他脚本中引用这些定义的函数。实例1、下面是一个简单的自定义函数,求1到10的和:#!/bin/shno_param_test() { SUM=0原创 2013-07-25 12:05:23 · 585 阅读 · 0 评论 -
vim 正则表达式
vim正则表达式限定几行到几行之间的字符串匹配替换::10,13s/cross_compile/CROSS_COMPILE/g第10行到第13行匹配字符替换。元字符 说明. 匹配任意一个字符[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围, 如[a-z0-9]匹配小写字母和阿拉伯数字。[^abc] 在方括号内开头使用^符号,表示匹配除方括号原创 2013-02-22 15:48:31 · 410 阅读 · 0 评论 -
shell算数运算 let 和 expr
整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 x 加 1 可以写作:let"x = $x + 1" 或者 x=`expr $x +1‘,个人感觉,二者差不多,前者表达比较简单,择优用之 在bash中,let可以用来做数值运算bash-2.05b$ export n=20bash-2.05b$ n=n+1bash-2.05b$ echo $nn+1n+1原创 2013-04-15 17:01:11 · 895 阅读 · 0 评论 -
case esac 使用
利用case esac判断-针对既定变量利用case esac判断-针对既定变量 --香港服务器租用商上个小节提到的『 if .... then .... fi 』对于变量的判断中, 是以比对的方式来分辨的,如果符合状态就进行某些行为,并且透过较多层次 ( 就是 elif ... ) 的方式来进行多个变量的程序代码撰写,譬如 美国服务器租用商的sh08.sh 这个小原创 2012-07-16 09:55:15 · 708 阅读 · 0 评论