Shell日常使用的小技巧

教程大全 2026-01-08 04:29:00 浏览

Shell 脚本在我们日常开发和学习都有举足轻重的地位,比如看一些开源项目,比如项目中的各式各样的脚本,对于促进生产力工具有很大帮助!

1、命令小技巧

1、-x命令进行跟踪调试执行

执行:

2、-c命令 (执行命令参数)

3、使用set变量

执行

帮助可以看:sh -c "help set"

2、语法小技巧

1、${}和$适用场景

1)$ 可能有语法歧义,所以一般使用${}

3、cat[>>|>][FILE]<

如果重定向的操作符是<<-,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除。这可以解决由于脚本中的自然缩进产生的制表符。

4、 单引号双引号,没有引号的区别

输出

可以看到

5、特殊变量

6、[[]]和[]标准 以及基本语法规范

shell

具体规范:

执行后发现

7、/bin/sh 与 /bin/bash 的区别

/bin/sh 与 /bin/bash 的区别

3、获取命令结果$(cmd)

有两种写法,一种是$()这个并不是所有的shell都支持,但是比较直观, 另外一种是"``" (它可是适用更多的平台)

输出:

4、输入输出重定向2>&1

使用

程序中经常有,标准输出,但是还有错误输出,因此需要合并到一个流中

其实Go的程序中正执行脚本的时候可以指定,标准输出和错误输出

使用的时候:

例如:

command >out.file是将command的标准输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&,是让该命令在后台执行。

5、If语句

if 其实就是test 命令

1、格式

1) 换行写

2)非换行写

2、结果获取/判断

结果输出0 ,表示为真,可以通过$? 来获取结果

3、例如调试条件

4、测试文件是否存在

5、字符串操作

字符串推荐加"" 进行定义

1) 判断字符串是否为空-z (zero)么

2)判断两个字符串是否相同

4、测试一个命令是否存在command -v $#

5、获取字符串长度${#var}

6、数字比较

7、shell脚本中if判断'-a' - '-z'含义

6、for循环

1、forin; do;;done

2、for((x=0; x<10; x++));do;; done

1、例子

脚本

2、格式

首先gun的sed函数和mac的set是有些不同的!具体看:

具体写在其他文档上,目前使用的多个命令也未分享!

原文地址:

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐