相关疑难解决方法(0)

理解“IFS= read -r line”

我显然明白可以为内部字段分隔符变量添加值。例如:

$ IFS=blah
$ echo "$IFS"
blah
$ 
Run Code Online (Sandbox Code Playgroud)

我也明白这read -r line会将数据保存stdin到名为的变量line

$ read -r line <<< blah
$ echo "$line"
blah
$ 
Run Code Online (Sandbox Code Playgroud)

但是,命令如何分配变量值?它是否首先存储来自stdinto 变量的数据line,然后赋予lineto 的值IFS

bash shell-script

94
推荐指数
3
解决办法
10万
查看次数

使 tail -f 在损坏的管道上退出

我想观看一个文件,直到出现一些文字

我找到了这个答案:`tail -f`直到看到文字

但是当我在 ubuntu 上尝试时,它没有退出:

$ echo one > test.txt
$ echo two >> test.txt
$ echo three >> test.txt
$ echo four >> test.txt
$ cat test.txt | sed '/w/ q'
one
two
$
Run Code Online (Sandbox Code Playgroud)

按预期工作。但是当我尝试拖尾文件时

$ tail -f test.txt | sed '/w/ q'
one
two
Run Code Online (Sandbox Code Playgroud)

它永远不会退出。即使管道破裂,尾巴也不会停止。

有人知道tail退出时如何sed退出吗?

pipe sed tail

5
推荐指数
1
解决办法
1868
查看次数

标签 统计

bash ×1

pipe ×1

sed ×1

shell-script ×1

tail ×1