良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

解决shell当while read line 遇到exit 只退出循环,不退出脚本

 #!/bin/bash
while read line
do
        if [ "$line" == "do" ];then
                exit 2
        fi
        echo $line
done<<<"$(cat 1)"
echo aaa

<<<是bash的扩展,叫做here-string
加上双引号就能一次读一行结果

阅读全文...

shell中${ } 的一些特异功能

假设我们定义了一个变量为: 
file=/dir1/dir2/dir3/my.file.txt 
我们可以用 ${ } 分别替换获得不同的值: 
${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt 
${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt 

阅读全文...

debian上sh执行含有数组初始化的脚本报错

debian/ubuntu上sh命令默认是指向dash,而不是bash

百度百科 

Debian Almquist shell,缩写为dash,一种 Unix shell,相容于POSIX标准。
它比 Bash 小,只需要较少的磁盘空间,但是它的对话性功能也较少。
它由 NetBSD版本的Almquist shell (ash)发展而来,
于1997年,由赫伯特·许(Herbert X

阅读全文...

Linux常用命令大全

系统信息 
arch 显示机器的处理器架构(1) 
uname -m 显示机器的处理器架构(2) 
uname -r 显示正在使用的内核版本 
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) 
hdparm -i /dev/hda 罗列一个磁盘的架构特性 
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 

阅读全文...

linux下awk数组操作(小结)

用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又会怎么样呢。我们先看下下面的一些介绍,结合例子我们会讲解下它的不同之处。在 awk 中数组叫做关联数组(associative arrays),因为下标记可以是数也可以是串。awk 中的数组不必提前声明,也不必声明大小。数组元素用 0 或空串来初始化,这根据上下文而定。例如:

阅读全文...

shell计算美国数学家维纳的年龄

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
    一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
    “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”


阅读全文...

vi/vim的使用

Vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在Dos上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。
      Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。
      Vi没有菜单,只有命令,且命令繁多。Vi有三种基本工作模式:命令行模式、文本输入模式和末行模式。

阅读全文...