shell技巧分享(四)

15 篇文章 0 订阅
11 篇文章 0 订阅

这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。

1 常用快捷键

  • Alt+Backspace:删除光标前的一个单词
  • Alt+F:移动光标到下一个空格处
  • Alt+B:移动光标到上一个空格后第一个字符处
  • Ctrl+R:搜索执行过的命令行
  • Ctrl+U:删除光标之前所有字符
  • Ctrl+K:删除光标之后的所有字符
  • Ctrl+A:移动光标到行首
  • Ctrl+E:移动光标到行尾

这8个快捷键在命令行操作时会经常用到,如果你没有使用过,多用几次就习惯了,另外,多记住几个快捷键没什么坏处。

2 bash调试模式

示例脚本:

#!/bin/bash -x

script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo script dir is "<$script_dir>"

运行脚本:

$ ./get_cur_dir.sh
+++ dirname ./get_cur_dir.sh
++ cd .
++ pwd
+ script_dir=/media/sf_share/git/bash_practice
+ echo script dir is '</media/sf_share/git/bash_practice>'
script dir is </media/sf_share/git/bash_practice>

通过在脚本顶部添加-x选项,运行脚本时会打印出每一行命令,输出的+号个数表示命令的嵌套层数,从输出可以清楚看到每条命令的执行情况,方便调试脚本。如果去掉-x选项,运行脚本只会打印:script dir is

3 获取脚本所在目录

示例脚本:

#!/bin/bash

script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo script dir is "<$script_dir>"

运行脚本:

$ . ./get_cur_dir.sh
script dir is </media/sf_share/git/bash_practice>
$ source ./get_cur_dir.sh
script dir is </media/sf_share/git/bash_practice>
$ sh ./get_cur_dir.sh
script dir is </media/sf_share/git/bash_practice>

在shell脚本内部,经常需要去获取脚本所在目录。示例中给出的方法,无论使用source、点号或者sh方式运行脚本,都可以正确获取脚本所在目录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值