linux bashrc设置别名,优化长命令输入

本文介绍如何通过.bashrc文件中的函数式缩写来提高命令行操作效率,详细解析了hs函数的实现原理及使用方法,包括参数处理、路径拼接等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原标题:.bashrc 文件 函数形式缩写参数

工作中有很多经常使用到的命令,扩展开就是一大串。用函数式缩写的形式可以完成快速开发(偷懒)。

注意要source .bashrc

#hive search  注意 有参数时候必须有路径!
hs(){
  # ${!#} 获取最后一个参数
  output="$*"
  # 去除最后一个参数
  nfdown=`echo $output | awk '{for(i=1;i<=NF-1;i++) printf $i" "}'`
  HIVE_HOME="/hdfs/hivename/"
  # !#为第0个参数时替换为空
  hdfs dfs ${nfdown:--ls} $HIVE_HOME/${!#/$0/}
}

 部分使用方法提出来,作为笔记。

awk 中 print 默认有换行

NF FS 、OFS、RS 、ORS
${nfdown:--ls}当nfdown变量为空时,用-ls替代
${!#} 获取最后一个参数$# 获取参数个数  ${$#} 获取最后一个参数失败(不能在花括号内使用美元符,必须将美元符换成感叹号)
${!#/$0/} 当最后一个参数为第零个参数时,使用空字符串取代${str/str1/str2} 将str中str1字符串取代为str2

优化后(不能使用hdfs的find功能):

# 基于hdfs dfs 查询hive仓库
# hive search
hs(){
  HIVE_HOME="/warehouse/tablespace/managed/hive"
  # 最后一个参数 存在 - 时判断未输入路径 否则进入下边判断
  if [[ ${!#} == "-"* ]];then
    hdfs dfs ${@:--ls} $HIVE_HOME
  else
    nfdown=`echo $* | awk '{for(i=1;i<=NF-1;i++) printf $i" "}'`
    # !#为第0个参数时替换为空
    hdfs dfs ${nfdown:--ls} $HIVE_HOME/${!#/$0/}
  fi
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值