shell的建议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell的建议相关的知识,希望对你有一定的参考价值。

指定bash

shell脚本第一行, #! 应该是什么?

大多数情况 /usr/bin/env bash,  /bin/bash, /usr/bin/bash, /bin/sh, /usr/bin/env sh 是等价的,但是少数情况还是有坑。如默认的shell 可能不是 bash,如某个发行法本,默认sh不是bash。

所以推荐使用 /bin/bash

 

set -e 和 set -x

在具体的代码逻辑之前,先插入 一行 set -e 和 一行 set -x

set -x 会在执行每一行 shell 脚本的时候,将执行的内容输出来。所有涉及的变量都会被替换成实际的值。

set -e 会在执行出错时结束程序。(但是不是所有出错的时候都会结束程序)。

带上shellcheck

shellcheck 可以查错

注意local

写函数的时候,如果 不加 local 限定词,那么变量默认就是全局的,这和js差不多。

在顶级作用域中,是否全局没有多大影响,但是在函数中,一个全局变量就有可能污染其他作用域。所以在函数中声明的变量,一定要加上 local 限定词

复杂的逻辑还是避开shell

shell 写脚本往往就是难以移植,难以统一进行错误处理,难以利索的处理数据。所以需要配合很多外部的命令,如 grep,sed,awk 来处理。所以解决特定问题还是需要特定的工具,切换一门更通用的脚本语言,有时候更好。

 

以上是关于shell的建议的主要内容,如果未能解决你的问题,请参考以下文章

linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

Linux下高效编写shell脚本的10个建议

shell的建议

adb shell 命令在 android 上禁用键盘建议

markdown Bash Shell建议

Linux命令 linux下高效编写shell脚本的10个建议