小编Arc*_*ton的帖子

Linux 如何识别用户?

我的意思是,如果两个用户具有相同的名称,那么系统在强制执行文件权限时如何知道他们实际上是不同的用户?

当我考虑/home/old-arch在重新安装系统之前重命名我的家时,这个疑问出现在我的脑海中(我有/home自己的分区,我没有格式化它),这样我就可以拥有一个新的、原始的/home/arch. 我想知道新系统是否会给我对我的文件的旧权限,或者它是否会将我识别为不同的arch.

users authentication permissions multiuser

9
推荐指数
2
解决办法
3643
查看次数

如何列出 readline 变量及其当前值

例如,我希望能够查看是否show-all-if-unmodified在当前会话中启用。

command-line bash autocomplete readline

2
推荐指数
1
解决办法
404
查看次数

tee 不可预测行为的解释

在测试对程序重复执行的输出求和的脚本时,我遇到了我不理解的行为。要重现它,请创建文本文件out,它代表我的程序的输出,以及sum保存先前执行返回的值的总和的文件,该文件作为 的副本开始out

cat > out << EOF
2 20
5 50
EOF
cp out sum
Run Code Online (Sandbox Code Playgroud)

奇怪的事情发生在跑步

paste out sum | awk '{$1 += $3; $2 += $4; NF = 2; print}' | tee sum
Run Code Online (Sandbox Code Playgroud)

几次(可能需要 15-20 次)。每次运行时,此命令应将sum相应值中的值相加out并将结果写回sum. 我得到的是它工作的次数不可预测,然后sum恢复到

2 20
5 50
Run Code Online (Sandbox Code Playgroud)

我后来了解到我无法将输出重定向或 tee 输出到我正在处理的同一个文件,并使用临时文件解决了这个问题,但这种行为让我感到困惑:

  • 为什么完全… | tee sum有效(即使只进行有限次数的迭代),而… > sum从不覆盖sum

  • 为什么它不能以可预测的次数工作?

bash io-redirection tee

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