bash 标签

Ubuntu 20.04 终端关机和重启命令 有更新!

  |   0 评论   |   126 浏览

重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机

如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

BASH - REST-API - JSON封装(下) 有更新!

  |   0 评论   |   1,590 浏览

这是三篇SHELL执行的JAVA接口封装的最后一篇. 上一篇介绍了使用JQ来完成shell中JSON数据的结构封装与操作. 这一篇最后介绍一下在JAVA中怎样调用SHELL程序,以及怎样封装一个标准的REST风格JSON API. 具体怎么实现我们一起看原文吧.

所有代码可以直接参考源代码仓库: https://github.com/jianhong-li/JavaHelloWorld/blob/master/demo-bash-rest-api-for-java/src/main/java/com/jianhongl/fresh/bash/support/BashRunner.java

BASH - REST-API - JSON封装(中) 有更新!

  |   0 评论   |   553 浏览

BASH语言本身作为脚本语言, 功能比较强大.但是语法又特别弱. 有时候我们需要对程序的接口函数进行标准封装. 比如一般的 shell函数的返回值只有 exit code和 stdout两种. 但是我们想要得到一般意义的函数返回 ApiResponse的时候. 这个时候怎么办呢. 这篇文章就是一个基本的技巧.

BASH - REST-API - JSON封装(上) 有更新!

  |   0 评论   |   521 浏览

BASH语言本身作为脚本语言, 功能比较强大.但是语法又特别弱. 有时候我们需要对程序的接口函数进行标准封装. 比如一般的 shell函数的返回值只有 exit code和 stdout两种. 但是我们想要得到一般意义的函数返回 ApiResponse的时候. 这个时候怎么办呢. 这篇文章就是一个基本的技巧.

sed 中的正则表达式 有更新!

  |   0 评论   |   3,083 浏览

简单介绍 sed 的正则表达式的使用注意事项.可以看如下的几个case:

一个case:

输入: echo "abcwwwdc456" | gsed -E 's/(abc)([\w]+)(.*456)/\1替换后的字符\3/g'
输出:  abc替换后的字符dc456 
解释: [\w]+只匹配到了所有的`w`.没有匹配后面的`dc`,所以dc没有被替换. 
原因: 实际上字符集是`\`和`w`两者的集合.并不是 **匹配数字和字母下划线** , `\`在 `[ ]`中没有特殊的含义.所以也就无法构建出`\w`

第二个case:

输入: echo "abcwwwdc456" | gsed -E 's/(abc)(\w+)(.*456)/\1替换后的字符\3/g'
输出: abc替换后的字符456
解释: `\w`被识别为了字符集. **数字和字母下划线** , 因此匹配到了w以及后面的dc
原因: 在sed的普通的`s语句`中.是支持如 `\w`,`\b`此类的字符集的.

第三个case:

输入: echo "abcwwwdc456" | ggrep -o -P --color=auto  '(abc)([\w]+)'
输出: abcwwwdc456
解释: `grep`的正则的字符集的定义支持把`\w`放到`[]`中定义新的字符集. 这个更倾向于更常见的正则语法. 写起来也更自然一些
原因: 这个grep使用的是perl语法风格的正则. 因此支持这样处理.

sed 入门详解 有更新!

  |   0 评论   |   3,351 浏览

记录了 sed 的常用命令.主要是字符串替换操作. 从其基本语法.到常用命令.以及命令使用的基本核心点进行了主要阐述.阅读此文后能够对 sed 有一个基本的理解.
基本能够覆盖常用的使用场景.

shell变量中的回车符处理 有更新!

  |   0 评论   |   4,439 浏览

介绍了 Linux 和 Unix 不同环境下需要处理\r相关的处理办法.可以使用sed , tr 以及${var//origin/replace}三种处理办法.同时说明了最后一种是效率最高的.
同时本文也对不同环境中 shell 脚本语法的不同之处进行了简单说明.以期在不同的环境里面可以正确的处理\r的清除问题.
处理方法如下:

echo "$a" | tr -d '\r' | od -c
echo "$a" | sed $'s/\r//g' | od -c
echo "${a//$'\r'/}" | od -c