shell练习

工作中经常会写一些shell脚本,很多东西都是用着用着就熟悉了。

对于shell里面一些常用的命令用法和一些常见符号含义,记录下,方便查找,我只是搬运工~~


shell脚本路径:/home/rank/liang.yang3/shell_test            文件名:dir_test.sh

cur_dir=`pwd`    反单引号,不是单引号
cmd_dir=`dirname $0`     获取shell脚本路径(不含文件名),$0 表示执行的shell脚本名称,$1,$2分别代表第1,2 个参数
echo "cur_dir: $cur_dir"
echo "cmd_dir: $cmd_dir"


if [[ "$cmd_dir" = "." ]]; then            如果在脚本所在目录下这样执行脚本:sh dir_test.sh 或者 sh ./dir_test.sh 
  src_dir=$cur_dir
elif [ "${cmd_dir:0:2}" = "./" ]; then  如果在/home/rank/liang.yang3目录下这样执行:sh ./shell_test/dir_test.sh 
  src_dir="$cur_dir/${cmd_dir:2}" 
else  
  src_dir="$cmd_dir"
fi
echo "src_dir: $src_dir"                   获取了所执行shell脚本的绝对路径


hitter_config="liang.yang3/tempFile/temp_statis_20140906"   

file_name=`basename $hitter_config`       file_name=temp_statis_20140906 切割得到文件名

output_dir="`dirname $src_dir`/output"      output_dir=/home/rank/liang.yang3/output,获取src_dir的上级目录,然后得到outout_dir


一些常用符号含义

例如执行:sh ./shell_test/dir_test.sh  p1 p2

$0 shell脚本名称,会带上路径。 ./shell_test/dir_test.sh
$n 这个程式的第n个参数值。  $1=p1, $2=p2
$* 这个程式的所有参数,此选项参数可超过9个。   p1 p2

$# 这个程式的参数个数

$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)


下面的还暂时没用到,没有实验过~~~

$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值