6月 082018
 

注意,这个脚本里面的cat,这里很容易写作echo的,因为php中就是用的echo; 我们很容易将这种语法视为写复杂字符串的一种方法,而在shell中,这不是一个复杂的字符串,而是把这些内容作为命令的标准输入提供给命令的,而不是命令的参数:

知道了原理之后,就再也不用担心写错了

 Posted by at 下午 4:52
2月 072018
 

<($cmd) 可以模拟类似协程的效果,如下:

当然,效果上虽然和走管道类似,但是如果程序不支持读标准输入的话,这也不失为一种不错的替代;  当然,这个也可以用于标准输入的重定向:

这两种写法只差一个 < ,后者是shell直接帮做了标准输入的重定向,前者没有做标准输入的重定向,只是向打开普通文件一样的方式打开了bash帮忙生成的一个临时文件。

 

这种语法 叫做Process Substitution

 Posted by at 下午 5:17
1月 302018
 

分析指定目录下一级子目录的使用情况:

  1. 文件大小分布
  2. 目录最后修改时间(确定是否长期未使用)
  3. 目录总容量

脚本:

 

 

命令:

 

注意:

  1. 结果如果要按照空格分域粘贴到Excel中,需要将百分数前面可能存在的空格给替换掉:

awk 知识点:

  1. 自定义函数
  2. 内置函数gsub使用
  3. printf格式化函数,sprintf函数
  4. awk 中字符串连接的语法
 Posted by at 下午 4:55
1月 232018
 

一般来讲:

我们都知道这是什么意思,或者:

但是:

这又是什么鬼?

其实,仅仅是把重定向写到命令前面而已, 等效于:

而且都是之影响一条可执行命令而已:

这个只影响echo a 的输出重定向,没有影响到echo b 的输出重定向

 Posted by at 上午 10:39