问题标签 [stty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
98 浏览

macos - 为什么我的 println!() 输出后面有一个“D”?

我正在按照这个参考来实现一个计算最小输入数的简单程序:

构建运行程序:

我们可以看到D在最小数字之后有一个尾随的“”:8。但是,如果我将输出更改为:

至:

输出看起来很正常:

我猜这个问题与标准输出缓冲区有关,但不知道为什么。任何人都可以提供一些线索吗?

PS,我可以在macOS( zsh) 和OmniOS( bash) 上重现此问题,但无法在Linux( bash) 上重现。

0 投票
1 回答
315 浏览

bash - stty raw -echo 的 Bash/Zsh 问题

之所以出现这个问题,是因为我经常使用反向 shell,并且经常需要升级 shell 以启用选项卡自动完成或光标使用。不过,问题不仅在反向 shell 上,即使我在自己的终端中使用以下输入,我也会得到相同的结果。我使用终结者,但也在终端中尝试过这个并得到同样的问题。

我尝试的第一种方法是:

这将导致我无法输入文本(出现错误字符,例如 ^M 用于输入):

外壳工作

使用 Ctrl-z 暂停,“stty raw -echo”,按两次回车,然后 fg 恢复(忽略“whoami”...!):

Ctrl-z,stty raw -echo,(请忽略“whoami”...)

在底部你可以看到,当输入fg时,我可以输入文本,但如果我按 ENTER,我会得到 ^M。

浏览了其他帖子后,我尝试了两件事。一是确保 icrnl 设置为 ON,它是。另一种是尝试将“stty raw -echo; fg”作为一个命令而不是两个命令。这产生了不同的结果。它工作得更好,但是每当我按 Enter 键时,提示就会在屏幕上移动:

stty raw -echo; fg

我尝试在 bash 而不是 zsh 中执行此操作,我得到了相同的结果。有谁知道我可以如何解决这个问题?我将在下面附上我的 stty 以获取信息:

谢谢你的帮助。

0 投票
1 回答
75 浏览

xtermjs - 如何从 xterm.js 获取 stty 回显模式?

我希望能够知道 xterm.js 中的回显模式何时关闭(例如,输入密码时)。stty 可以报告和更改该信息,但(显然)在等待用户输入密码时无法执行。查询回显状态的 API 是什么?

0 投票
1 回答
63 浏览

macos - 为什么 'stty -echo' 不关闭 macOS 上的回显位

我正在阅读 Bruce Molay 的《Understanding Unix/Linux Programming》。在第 5 章中,本书介绍了一个新命令stty,可以帮助您配置终端设置。

书中提到的一个例子是用来stty -echo关闭回声,然后我在我的Mac上尝试了它,但发现它根本不起作用。

然后我在一个ubuntu docker 容器中对其进行了测试,并且stty -echo 运行良好

那么为什么它不能在 macOS 上运行呢?

0 投票
0 回答
33 浏览

serial-port - 如何更改串口的触发电平

我正在努力解决我的应用程序和外部设备之间的通信溢出问题。我发现一种解决方案可能是将扳机杆更改为降低扳机杆。

我有串行类型:16550A 因此,缓冲区的大小可以是 1、4、8 或 14(这是默认值)。

我找不到改变它的方法。你有什么想法?甚至如何完全禁用 FIFO?

我的应用程序是用 Java 编写的,但我当然可以手动配置端口。

0 投票
1 回答
72 浏览

python - 无法使用 Python 恢复交互式反向 shell

我一直在研究 Hack the Box 上的 Scriptkiddie 盒子,并且已经到了使用 python 将一个哑巴升级为交互式 shell 步骤的地步。建议的方法与此处的最后一个示例相同:https ://blog.ropnop.com/upgrading-simple-shells-to-fully-interactive-ttys/

但是,我已经到了将我的 shell 带回前台的fg地步,但从那时起我无法执行任何命令。按回车键只显示^M

fg在执行 stty 行后输入)。有谁知道这里发生了什么?

0 投票
0 回答
39 浏览

serial-port - 通过串口发送“0x0A”,接收为“\r\n”

通过串口发送 '0x0A' : echo -n -e '\x0A' > /dev/ttySerial

$uname -a Linux 581b50f75836 4.14.200-17.0.2 #1 SMP Fri Feb 26 22:23:56 UTC 2021 aarch64 Linux

在另一台机器上通过串口接收后: 原始数据:b'\r\n'

$ uname -a Linux cgn02-jumphost 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

我是串行通信的新手,我知道问题是由于不同的机器对换行符有不同的标准,有什么解决方案吗?

0 投票
1 回答
147 浏览

bash - Bash:stty:标准输入:SSH时设备的ioctl不合适

我正在编写简单的 bash 脚本:

我像这样运行脚本:

bash test.sh ip(我输入一些服务器IP)。

该脚本有效,但我在终端中收到此消息:

为什么会出现stty消息?这是什么意思,我怎样才能让它消失?(我尝试了一些我在网上找到的建议,但没有任何帮助)。

谢谢!

0 投票
1 回答
32 浏览

stty - 从 ~/.ssh/config 调用的脚本丢失 TTY

我正在使用一个特定于站点的身份验证脚本,该脚本为无密码登录颁发 24 小时证书。如果证书已过期,我想要做的是装配我的~/.ssh/config所以触发脚本:ssh

几乎可以工作 - 它测试最新证书文件的年龄,并调用authentication_script它是否已过期。问题是该脚本使用 TTYread操作来获取密码输入,并给出以下错误:

当我从常规登录会话在命令行上运行脚本时,不会发生这种情况。是否有某种模式可以翻转以使其正常工作?