我如何修复 bash 错误 - /dev/tty 没有这样的设备或地址

How do i fix bash error - /dev/tty No such device or address

作为问题的具体内容,我在执行我的 bash 脚本时遇到此错误

确切地说,我得到以下错误

bash: line 26: /dev/tty: No such device or address
bash: line 29: /dev/tty: No such device or address

这里分别是脚本中引起问题的第26行和第29行

read -e -p "Paste the links : " links </dev/tty
read -e -p "Enter your input : " sub </dev/tty

如果有人想知道,我不能简单地从第 26 行和第 29 行删除对

我正在通过 运行ning 执行我的脚本 - curl raw_link | bash

最好我想要一个只需要我编辑现有脚本的解决方案。我不想 运行 在本地保存脚本或使用 [=16 以外的任何其他方式执行它之后=]

ls -l /dev/tty returns以下

crw-rw-rw- 1 root root 5, 0 Aug  8 09:28 /dev/tty

ls -l <​​/dev/tty returns以下

/bin/bash: /dev/tty: No such device or address

另外我想提一下,这个问题似乎并不是在每台机器上都会发生,我打算在 Google Colab 上使用这个脚本,我肯定会遇到这个问题

要修复 bash 错误,您可以尝试以下解决方法:

tty=$(readlink /proc/$$/fd/2)
read ... < $tty

$tty 包含实际的 tty 设备名称。