在 bash while 循环中暂停
Pause in a bash while loop
我目前的任务是手动检查多个文件的内容。我将所有文件都列在一个文本文件中,一行一行(每行末尾换行),目前正在尝试制定一个能够读取文本文件的 bash 脚本 - 一行一行,然后在 nano 中打开它们进行检查。
当我在 nano 中打开它时出现问题 – 我目前在 win10 上 运行 linux 作为子系统,所以我只有终端可用。我当前的问题是当我尝试这样做时:
Cat file | while read line; do nano “$line”; done
最小工作示例:
mkdir test
cd test
touch {a,v,c}
ls > file
Cat file | while read line; do nano “$line”; done
是同时处理所有文件,还是它试图 - 它循环遍历所有文件并结束 - 不允许我在 nano 中检查文件或允许我正确关闭它。
当我在 nano 中打开文件时,是否可以以某种方式暂停 while 循环?
Cat file | while read line; do nano “$line”; done
Nano 可能会尝试通过其标准输入(即管道)与您进行交互。尝试从您的 TTY 重定向其标准输入:
Cat file | while read line; do nano “$line” < /dev/tty; done
我目前的任务是手动检查多个文件的内容。我将所有文件都列在一个文本文件中,一行一行(每行末尾换行),目前正在尝试制定一个能够读取文本文件的 bash 脚本 - 一行一行,然后在 nano 中打开它们进行检查。 当我在 nano 中打开它时出现问题 – 我目前在 win10 上 运行 linux 作为子系统,所以我只有终端可用。我当前的问题是当我尝试这样做时:
Cat file | while read line; do nano “$line”; done
最小工作示例:
mkdir test
cd test
touch {a,v,c}
ls > file
Cat file | while read line; do nano “$line”; done
是同时处理所有文件,还是它试图 - 它循环遍历所有文件并结束 - 不允许我在 nano 中检查文件或允许我正确关闭它。
当我在 nano 中打开文件时,是否可以以某种方式暂停 while 循环?
Cat file | while read line; do nano “$line”; done
Nano 可能会尝试通过其标准输入(即管道)与您进行交互。尝试从您的 TTY 重定向其标准输入:
Cat file | while read line; do nano “$line” < /dev/tty; done