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