shell知识总结.txt

1、echo -e "Hello World\n"   //-e解释转义字符

2、${BASH_SOURCE-$0}  获取当前脚本名称

3、命令替换.`command` 结构使字符(`)[译者注:这个字符不是单引号,而是在标准美国键盘上的ESC键下面,在字符1左边,在TAB键上面的那个键,要特别留心]引住的命令(command)执行结果能赋值给一个变量。它也被称为后引号(backquotes)或是斜引号(backticks).例子:A=`ls -l`把ls -l的结果赋给A    ls -l 作为命令来执行

4、等号两边不能直接接空格符,后面写法错误: 『myname = VBird』戒『myname=VBird Tsai』

5、使用unset命令删除变量,例如要清除PATH变量,可以如下: unset PATH

6、${parameter:-default}指定默认值   例如:SLAVE_FILE=${HADOOP_SLAVES:-${HADOOP_CONF_DIR}/slaves} 

7、.source ./*.sh和 . ./*.sh的执行方式是等价的;./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh

8、-P 表示物理连接名,而不是link name, --  是为了预防目录名有"-" 的情况出现,cd会执行失败(参考http://blog.chinaunix.net/uid-13875633-id-4419450.html

9、basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来。如: $ basename /usr/bin/sort 输出"sort"。$ basename ./include/stdio.h .h  输出"stdio"。

 10、

-e 该『档名』是否存在?(常用)
-f 该『档名』是否存在且为档案(file)?(常用)
-d 该『文件名』是否存在且为目录(directory)?(常用)
-eq 两数值相等 (equal)
-ne 两数值不等 (not equal)
-gt n1 大于 n2 (greater than)
-lt n1 小于 n2 (less than)
-ge n1 大于等于 n2 (greater than or equal)
-le n1 小于等于 n2 (less than or equal)
test -z string 判定字符串是否为 0 ?若 string 为空字符串,则为 true
test -n string 判定字符串是否非为 0 ?若 string 为空字符串,则为 false。 注: -n 亦可省略

11、

$# :代表后接的参数『个数』
$@ :代表『 "$1" "$2" "$3" "$4" 』之意,每个变量是独立的(用双引号括起来);
$* :代表『 "$1c$2c$3c$4" 』,其中 c 为分割字符,默讣为空格键, 所以本例中代表『 "$1 $2 $3 $4" 』之意。

12、$?:上一条指令返回值
13、sed  's/#.*$//;/^$/d'      s/#.*$//是替换注释行, /^$/d是删除空行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值