没有网站流量怎么办,新建网站外链怎么做,注册外贸网站有哪些,兰州中川国际机场图片大家好#xff0c;今天分享一款开源工具--shellcheck。
shellcheck 简介
今天发现的一款神器#xff0c;如果你日常会接触到shell脚本#xff0c;或者说自己需要写一些shell脚本#xff0c;那么强烈建议你用下这个工具。
shellcheck一个静态的shell脚本分析工具#xf…大家好今天分享一款开源工具--shellcheck。
shellcheck 简介
今天发现的一款神器如果你日常会接触到shell脚本或者说自己需要写一些shell脚本那么强烈建议你用下这个工具。
shellcheck一个静态的shell脚本分析工具可以判断脚本哪里有异常哪里可以优化并且会给出对应的解决办法。
一个简单的示例 这款工具不仅适用于初学者对于中高级使用者帮助更大。
安装
github可以访问的直接到如下链接去下载就可以目前支持多个终端也有web可访问
https://github.com/koalaman/shellcheck
web访问地址https://www.shellcheck.net/
使用方式 shell脚本中的一些常见错误 常见错误引用
echo $1 # Unquoted variables
find . -name *.ogg # Unquoted find/grep patterns
rm ~/my file.txt # Quoted tilde expansion
v--verbosetrue; cmd $v # Literal quotes in variables
for f in *.ogg # Incorrectly quoted for loops
touch $ # Unquoted $
echo Dont forget to restart! # Singlequote closed by apostrophe
echo Don\t try this at home # Attempting to escape in
echo Path is $PATH # Variables in single quotes
trap echo Took ${SECONDS}s 0 # Prematurely expanded trap
unset var[i] # Array index treated as glob常见错误条件语句
[[ n ! 0 ]] # Constant test expressions
[[ -e *.mpg ]] # Existence checks of globs
[[ $foo0 ]] # Always true due to missing spaces
[[ -n $foo ]] # Always true due to literals
[[ $foo ~ fo ]] # Quoted regex in ~
[ foo ~ re ] # Unsupported [ ] operators
[ $1 -eq shellcheck ] # Numerical comparison of strings
[ $n $m ] # in [ .. ]
[ grep -q foo file ] # Command without $(..)
[[ $$file *.jpg ]] # Comparisons that cant succeed
(( 1 -lt 2 )) # Using test operators in ((..))
[ x ] [ y ] | [ z ] # Accidental backgrounding and piping误用的命令
grep *foo* file # Globs in regex contexts
find . -exec foo {} bar {} \; # Prematurely terminated find -exec
sudo echo Var42 /etc/profile # Redirecting sudo
time --format%s sleep 10 # Passing time(1) flags to time builtin
while read h; do ssh $h uptime # Commands eating while loop input
alias archivemv $1 /backup # Defining aliases with arguments
tr -cd [a-zA-Z0-9] # [] around ranges in tr
exec foo; echo Done! # Misused exec
find -name \*.bak -o -name \*~ -delete # Implicit precedence in find
# find . -exec foo bar \; # Redirections in find
f() { whoami; }; sudo f # External use of internal functions初学者常见错误
var 42 # Spaces around in assignments
$foo42 # $ in assignments
for $var in *; do ... # $ in for loop variables
var$nHello # Wrong indirect assignment
echo ${var$n} # Wrong indirect reference
var(1, 2, 3) # Comma separated arrays
array( [index] value ) # Incorrect index initialization
echo $var[14] # Missing {} in array references
echo Argument 10 is $10 # Positional parameter misreference
if $(myfunction); then ..; fi # Wrapping commands in $()
else if othercondition; then .. # Using else if
f; f() { echo hello world; } # Using function before definition
[ false ] # false being true
if ( -f file ) # Using (..) instead of test
资源获取
1自己从 github 仓库拉取。