相关疑难解决方法(0)

Bash文件描述符3和读取行

我一直在寻找,找不到明确的线索来验证我从给我的脚本中得出的结论。

因此file.txt是一个打开的文件(由文件描述符3表示),并通过记录时间戳的脚本不断添加新行。每次将新行添加到文件时,下一段是否会进入while循环?

exec 3 < /path/file.txt
while read <&3
  command
  command..
done
Run Code Online (Sandbox Code Playgroud)

因此,只要我不关闭文件描述符,添加到我的file.txt中的新行将始终激活while循环,对吗?

请帮我解决这个问题。谢谢

bash file-descriptor while-loop

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

Supervisord-在启动应用程序/程序之前执行命令

使用supervisord,如何在运行程序之前执行命令?

例如,在下面的代码中,我想在启动程序之前创建一个文件.在下面的代码中我使用tail -f/dev/null来模拟后台进程,但这可能是任何正在运行的程序,如'/ path/to/application'.我试过'&&'这似乎不起作用.要求是必须首先创建文件才能使应用程序正常工作.

[supervisord]
nodaemon=true
logfile=~/supervisord.log

[program:app]
command:touch ~a.c && tail -f /dev/null
Run Code Online (Sandbox Code Playgroud)

supervisord

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

在bash中理解exec

在阅读了关于exec builtin如何在bash中工作的解释之后,我理解它的基本功能是在不分叉的情况下替换当前进程.它似乎也用于在当前进程中重定向I/O和关闭文件描述符,这让我感到困惑.这是一些无关的额外的事情exec吗?能否在"取代现有流程"的背景下理解?如果与流程替换相结合,它是如何工作的,例如exec 3< <(my program)

linux bash exec io-redirection process-substitution

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

使用 bash -c 运行命令与不使用 bash -c 运行命令

这两个命令有什么区别?

  1. cat test.txt
  2. bash -c "cat test.txt"

我已经阅读了文档,但没有任何示例来理解它。

bash

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

当我 sudo bash -c 时会发生什么?

我知道sudo bash -c 'some_command'它将以some_command与 sudo 相同的权限运行。

我对发生了什么感到困惑?它是否some_command以 sudo 的形式在 bash 中运行(与 相同sudo bash)然后切换回我的当前用户?为什么我没有像运行时那样留在 bash 实例中,并拥有 sudo 权限sudo bash

我尝试运行man bash,它描述了该-c选项(引用如下)。但是,我正在努力弄清楚描述与我在跑步时观察到的行为之间的关系sudo bash -c 'some_command'

如果存在 -c 选项,则从第一个非选项参数 command_string 中读取命令。如果 command_string 后面有参数,则将它们分配给位置参数,从 $0 开始。

linux bash shell terminal sudo

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