【发布时间】:2019-02-28 00:16:45
【问题描述】:
只是出于好奇-以下有什么区别..
我有一个脚本,我正在从 KB 转换为 MB。我正在使用命令替换来分配变量,但只是没有看到分配它们的区别如下:
backup_size=$(echo "$client_kb/1024" | bc -l)
&
read backup_size < <(echo "$client_kb/1024" | bc -l)
每种做事方式的需求是什么?
谢谢
【问题讨论】:
-
第二个涉及在文件系统中创建临时文件的磁盘开销
-
@Inian:是吗?在
strace下运行时我看不到任何内容。 -
@choroba: 可能是 FIFO 或
/dev/fd- linux.die.net/man/1/bash 下的文件 -
是的,但是 /dev/fd 不会创建任何真实文件。
-
这里,
read不是必需的,但是您可以使用read做一些简单的分配无法做到的事情,最突出的例子是分配给两个或多个名称一次:IFS=, read foo bar < <(echo "1,2")与foo=1 bar=2相同。