工作中常用的 Shell 命令及技巧

您所在的位置:网站首页 linux简单常用shell命令 工作中常用的 Shell 命令及技巧

工作中常用的 Shell 命令及技巧

2023-03-27 13:44| 来源: 网络整理| 查看: 265

字符串相关操作从 URL 截取字段

默认去除url的最后斜线:

12url=http://xxx/patch/xxx/xxxx/tar_name=$(echo ${url%*/}|awk -F '/' '{print $NF}') shell 判断字符串包含1if [[ $tar =~ tar.gz ]];then echo "包含";fi Shell判断字符串包含关系的几种方法 字符串切割截取

最近项目中遇到了一个问题,之前一直正常的版本号,突然格式不对,多了不必要的前缀。经过定位,发现之前写的脚本是根据下划线 _ 分割,截取最后的一段作为版本号 version。但是使用的语法有点问题,做个笔记。

1234${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string} 从左向右截取第一个string后的字符串${varible%%string*} 从右向左截取最后一个string后的字符串${varible%string*} 从右向左截取第一个string后的字符串

示例:有这样的一个字符串:release_eu_1.0.0.202011221152,它执行上面的截取操作,输出如下:

12345678$ echo ${version##*_}1.0.0.202011221152$ echo ${version#*_}eu_1.0.0.202011221152$ echo ${version%%_*}release$ echo ${version%_*}release_eu

所以,工作中遇到的那个问题解决了,应该使用两个 # 的截取方式。不得不感叹,shell 真是强大。

参考:

cnblogs/shell 字符串分割与连接 调试 bash 脚本的技巧 加 -x 参数运行 bash 脚本时,会显示执行的语句 12# 也可以在 demo.sh 中加上 set -xbash -x demo.sh 设置环境变量,然后通过如上方式运行脚本时,会显示行号 1export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '

参考

[耗子叔-如何调试BASH脚本](https://coolshell.cn/articles/1379.html/comment-page-1#comment-1965637 快速输入历史命令

输入关键词之后,连续使用ctrl+r快速切换

In reverse-i-search (Ctrl+R ) ,Any method to switch between similar commands in history linux – 在反向搜索(Ctrl R),任何在历史记录中类似命令之间切换的方法

Ctrl+p/n 向上/向下 显示缓存命令

Ubuntu终端常用的快捷键 ssh 远程执行命令

需要远程到其他节点上执行一些 shell 命令,示例:

123456789#! /bin/shset -xssh [email protected] > /dev/null 2>&1 ,>> 数据流重定向,输出导向,分别是“替换”与“累加”


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3