bash 笔记

逻辑符号";" "&&“ ”||“

1) command1 ; command2

2) command1 && command2

3) command1 || command2

  • 使用”;”时,顺序关系:不管command1是否执行成功都会执行command2;
  • 使用”&&”时,条件关系if-so:只有command1执行成功后,command2才会执行,否则command2不执行;
  • 使用”||”时,选择关系if-else:command1执行成功后command2 不执行,否则去执行command2.

$( )` `(反引号)

都是用来作命令替换,重组命令行的。命令替换与变量替换差不多,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。

"$0" 

在shell 脚本中$0 显示脚本的路径名称。

使用$0

1

2

3

4

5

  cat  test5.sh 

#!/bin/bash 

# testing the $0 parameter 

echo  the zero parameter is  set  to:$0

 执行脚本:bash /root/shell/test5.sh 

结果显示:the zero parameter is set to:/root/shell/test5.sh ##显示了脚本的执行路径

"basename"

 在shell 脚本中basename 是去除目录后剩下的名字。

使用basename 后 

1

2

3

4

#!/bin/bash 

# testing the $0 parameter 

name=$( basename  $0 )

echo  the zero parameter is  set  to:$name

执行脚本:bash /root/shell/test5b.sh 

结果显示:the zero parameter is set to:test5b.sh  ##直接显示脚本名称

dirname

dirname命令可以取给定路径的目录部分,如果给定的参数本身为一个目录,那就取当前目前的上一层目录。这个命令很少直接在shell命令行中使用,一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。

1、命令行使用 例子:

$dirname /usr/bin/sort/

 结果显示:/usr/bin

2、在脚本中使用方式 

当无法确定当前所在目录时,可以使用以下方式:

#!/bin/sh

 DIR=$(cd $(dirname $0) && pwd)

表示的意思是将当前目录赋给DIR,并显示出当前路径

$1 $2 $n

$1是传递给该shell脚本的第一个参数

$2是传递给该shell脚本的第二个参数

echo Shell echo命令 | 菜鸟教程

bash中 2>&1 & 的解释:bash中 2>&1 & 的解释_在bash中 在一条命令后加入1> &2的作用-CSDN博客

$#

传递给脚本的命令行参数的数量

$* $@

$* 所有的位置参数。都被看作为一个单词( $* 以标量字符串的形式来存储位置参数)。 “$*” 必须被引用起来.

$@ ,其与 $* 相同, 所有的位置参数。
不同:每个参数都是一个独立的引用字符串
注:(1)参数是被完整传递的, 并没有被解释或扩展. (2) 参数列表中每个参数都被看作为单独的单词。($@ 以类似于数组的形式来存储位置参数)
注意: “$@” 应该被引用起来.
注:$@与$*中的参数只有在被双引号引用起来的时候才会不同.
 

$FUNCNAME

当前函数名称名称

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值