- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如果我在手动执行每一行时取出循环和变量,不明白为什么我的代码可以工作。一开始我以为我的变量是错误的,但后来我用这些变量测试了我的代码,但没有循环,它起作用了。
如果我回到循环中(我唯一要更改的东西),我会得到这些奇怪的 stty 错误。
while read p; do
#Send file
scp random_file.txt $p:/me/folder"
#Log in
ssh $p"@myserver.txt"
#List file, extract file, append file
#Code here
#log out
exit
done <usernames.txt
我已经用谷歌搜索了这个错误(这是一个非常常见的错误)令人作呕,但没有一个解决方案有效。禁用伪 tty 分配或强制伪 tty 分配对我有用。无论选项如何,我总是会出错
-t -t 选项
tcgetattr: Inappropriate ioctl for device
-t 选项
Pseudo-terminal will not be allocated because stdin is not a terminal.
stty: : Invalid argument
-T选项
stty: : Invalid argument
那么我该如何解决这些 stty 错误以及为什么当我将其放入循环中时它会停止工作?
最佳答案
输入重定向 <usernames.txt
正在用文件 usernames.txt
替换标准输入.因此终端不再是输入,导致这些错误。解决此问题的一种方法是使用标准输入以外的文件描述符,例如:
while read p <&3; do
…
done 3<usernames.txt
您遇到的另一个问题是循环内的命令是在本地执行的,而不是超过ssh
。在远程机器上,所以 exit
将退出您的本地 shell(在您通过手动注销从 ssh
返回后)。您可以在 ssh
上放置要远程执行的命令命令行(参见 ssh
手册,或例如 this question ),这可能会消除您首先将终端作为标准输入的需要。
关于c - 有循环的 Stty 错误,没有循环没有 stty 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24868099/
如果我在手动执行每一行时取出循环和变量,不明白为什么我的代码可以工作。一开始我以为我的变量是错误的,但后来我用这些变量测试了我的代码,但没有循环,它起作用了。 如果我回到循环中(我唯一要更改的东西),
我有一个打开串行端口的 netcore 应用程序,一旦检测到奇偶校验错误,就会在控制台上写入“奇偶校验错误”。它在 Windows 10 中运行良好,但无法在 Linux 下运行。 我的假设是操作系统
我使用下面的代码来读取和输出每个击键,而不必每次都按回车键。 system("\bin\stty raw"); 在我读完之后,程序立即执行另一个系统调用来重置终端行为。 system("\bin\st
目前,我可以通过执行 stty -ixon 禁用终端输出挂起/恢复“功能”(CTRL+S 和 CTRL+Q 废话)。 不幸的是,这不是永久性的。我每次启动xterm时都需要设置这个选项。 是否有可以编
我正在尝试使用我在网上找到的说明为 OS X 10.8.5 安装 Homebrew。我这样做是为了更新我的 Ruby 版本,因为我收到了这个错误: Use RbConfig instead of ob
我正在尝试使用 bash 从 ttyS0 读取并需要设置以下内容,但我正在努力弄清楚 databits = 7 stopbits = 2 parity = 0 flow control = 0 这是我
我在 hpux 上看到 stty,不是打字机 消息(尽管进行了交互式终端检查?),我猜测这些是由于我的 .kshrc 文件中的 stty 行造成的: case $- in *i* ) stty
我需要使用波特率为 115200 的 USB 串行电缆。 我尝试使用 MACbook 终端应用程序中的 stty 命令设置速率,如下所示; $stty -f /dev/tty.usbserial-A1
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我遇到了一个奇怪的问题。每次我通过 subprocess.Popen(cmd).wait() 调用特定命令 cmd 时,stty 都会变坏(不会在 shell 上回显我的进一步命令,换行符不起作用等)
我正在尝试将控制台置于 Java 中的“原始”模式。我知道这只适用于 UNIX。 我正在使用命令 stty raw 如果我直接在终端中输入命令,它就会执行它应该执行的操作。在 Java 中,我尝试这样
我正在使用 github.com/kr/pty 包为我产生的外部进程创建伪 TTY。然而,它们的终端大小似乎小于终端仿真器窗口大小(即 ncurses 和其他终端 UI 只会在 xterm/Konso
有人知道 Windows 上 stty 的等效工具吗?我想在 Windows 平台上对串行端口设置进行逆向工程。 我必须将一个 Windows 应用程序移植到 Linux 平台,但我没有关于我必须用于
stty 有很多选项。我想要的是基于 stty raw -echo:我想知道我是否可以添加一个选项,使终端驱动程序在看到例如ctrl+z,而不是让我的程序处理这个按键。 最佳答案 stty 的 raw
尝试从 Windows 命令行在 Symfony2 中生成实体时出现以下错误: 'stty' is not recognized as an internal or external command,
我试图获取一段包含换行符的文本,而无需用户每次获取时都按 Enter 键,直到用户按 CTRL+C,此时下面显示的循环将退出。但使用这种方法的问题在于,一旦终端设置为原始模式,当我按 Enter 时它
我正在尝试确保流量控制、xon-xoff、Control-S Control-Q 功能在我所有的终端/shells/tmux 中都关闭了(这样我就可以可靠地使用 Control-S 做其他事情)它应该
我只是为了好玩而尝试编辑我的终端设置。当我按“-a”时,“LEFT”应该出现在屏幕上。当我按“-w”时,“UP”应该出现在屏幕上。但是,当我执行我的程序时,出现了分段 11 错误,我想知道为什么。我的
在我的程序中,显示了一个 5x20 的点域。一名带有“#”符号的球员也在场上。您可以使用 w、a、s 和 d 移动玩家。如果我使用缓冲输入,一切都很好。但是用户不想每次都按回车键。所以我使用了命令 s
我使用的是带有 USB 串行连接的 Raspberry Pi - 因此 Raspberry Pi 具有连接到某些硬件照明板的 USB 引线。 当我通过此 USB 连接发送许多串行命令时,似乎会出现延迟
我是一名优秀的程序员,十分优秀!