问题标签 [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.
macos - 为什么我的 println!() 输出后面有一个“D”?
我正在按照这个参考来实现一个计算最小输入数的简单程序:
构建运行程序:
我们可以看到D
在最小数字之后有一个尾随的“”:8
。但是,如果我将输出更改为:
至:
输出看起来很正常:
我猜这个问题与标准输出缓冲区有关,但不知道为什么。任何人都可以提供一些线索吗?
PS,我可以在macOS
( zsh
) 和OmniOS
( bash
) 上重现此问题,但无法在Linux
( bash
) 上重现。
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 键时,提示就会在屏幕上移动:
我尝试在 bash 而不是 zsh 中执行此操作,我得到了相同的结果。有谁知道我可以如何解决这个问题?我将在下面附上我的 stty 以获取信息:
谢谢你的帮助。
xtermjs - 如何从 xterm.js 获取 stty 回显模式?
我希望能够知道 xterm.js 中的回显模式何时关闭(例如,输入密码时)。stty 可以报告和更改该信息,但(显然)在等待用户输入密码时无法执行。查询回显状态的 API 是什么?
macos - 为什么 'stty -echo' 不关闭 macOS 上的回显位
我正在阅读 Bruce Molay 的《Understanding Unix/Linux Programming》。在第 5 章中,本书介绍了一个新命令stty
,可以帮助您配置终端设置。
书中提到的一个例子是用来stty -echo
关闭回声,然后我在我的Mac上尝试了它,但发现它根本不起作用。
然后我在一个ubuntu docker 容器中对其进行了测试,并且stty -echo
运行良好。
那么为什么它不能在 macOS 上运行呢?
serial-port - 如何更改串口的触发电平
我正在努力解决我的应用程序和外部设备之间的通信溢出问题。我发现一种解决方案可能是将扳机杆更改为降低扳机杆。
我有串行类型:16550A 因此,缓冲区的大小可以是 1、4、8 或 14(这是默认值)。
我找不到改变它的方法。你有什么想法?甚至如何完全禁用 FIFO?
我的应用程序是用 Java 编写的,但我当然可以手动配置端口。
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 行后输入)。有谁知道这里发生了什么?
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
我是串行通信的新手,我知道问题是由于不同的机器对换行符有不同的标准,有什么解决方案吗?
bash - Bash:stty:标准输入:SSH时设备的ioctl不合适
我正在编写简单的 bash 脚本:
我像这样运行脚本:
bash test.sh ip(我输入一些服务器IP)。
该脚本有效,但我在终端中收到此消息:
为什么会出现stty消息?这是什么意思,我怎样才能让它消失?(我尝试了一些我在网上找到的建议,但没有任何帮助)。
谢谢!
stty - 从 ~/.ssh/config 调用的脚本丢失 TTY
我正在使用一个特定于站点的身份验证脚本,该脚本为无密码登录颁发 24 小时证书。如果证书已过期,我想要做的是装配我的~/.ssh/config
所以触发脚本:ssh
这几乎可以工作 - 它测试最新证书文件的年龄,并调用authentication_script
它是否已过期。问题是该脚本使用 TTYread
操作来获取密码输入,并给出以下错误:
当我从常规登录会话在命令行上运行脚本时,不会发生这种情况。是否有某种模式可以翻转以使其正常工作?