更改时如何查看文件并执行多个命令

Posted

技术标签:

【中文标题】更改时如何查看文件并执行多个命令【英文标题】:How to watch a file and execute multiple commands when changed 【发布时间】:2021-05-27 13:00:30 【问题描述】:

我在 python 环境中需要这个。示例here on my Github

我有一个文件requirements.in,我想看看它是否有变化。我向其中添加库,保存后将运行编译和安装脚本。

我使用pip-compile 将需求编译到requirements.text 文件中。然后使用 pip 安装此需求文件中的所有内容。理想情况下,我想创建一个也运行 jupyter notebook 的捆绑脚本。

目前我使用了python库“when-changed”并采用了这种方法:

#!/bin/bash


jupyter notebook &
when-changed requirements_dev.in pip-compile requirements_dev.in && requirements_dev.in pip install -r requirements_dev.txt && echo 'Installed requirements'

这种方法的问题是它只编译需求而不安装它或执行echo语句。我猜这是因为when-changedlibrary 只能执行一个命令。

因此我的问题是:如何查看文件并执行多个命令? (不一定是 bash 脚本。也可以是 python 或任何最适合的)

【问题讨论】:

【参考方案1】:

我想出的一个解决方法是在一个单独的终端窗口中启动 jupyter notebook,而在另一个终端窗口中启动 watcher。然后启动脚本如下所示:

#!/bin/bash

pip-compile requirements_dev.in && pip install -r requirements_dev.txt && echo 'Installed requirements'

我只是运行

when-changed requirements_dev.in bash startup.sh

在自己的窗口中。

不过,我会对其他解决方案保持开放和好奇。

【讨论】:

以上是关于更改时如何查看文件并执行多个命令的主要内容,如果未能解决你的问题,请参考以下文章

linux vi 下查看文件 不区分大小写命令

vc 如何查看dll文件

docker-compose:如何立即查看文件更改(开发时)

Grunt:查看多个文件,仅编译更改 - livereload 中断?

git:通过命令行执行本地 Git 工作流

Ubuntu 文件(夹)权限查看与修改相关指令