标签: stty

windows中的stty等价物

有人知道Windows上stty的等效工具吗?我想在Windows平台上对串行端口设置进行反向工程.

我必须将Windows应用程序移植到Linux平台,但我没有关于我必须用于应用程序的串行端口设置的任何信息.我必须对这些设置进行逆向工程.最常见的不起作用.

Windows上的示例应用程序可用且正常工作.

linux windows serial-port stty

5
推荐指数
1
解决办法
3407
查看次数

stty:标准输入:使用pdsh或ssh时参数无效

我想从远程机器运行一个简单的脚本.该脚本包含以下内容:

#!/usr/bin/python

import os
print str(os.popen('stty size', 'r').read())
Run Code Online (Sandbox Code Playgroud)

如果我从本地机器运行它我会得到很好的输出,比如36 138.如果我尝试从另一台机器运行它,我得到<ip>: stty: standard input: Invalid argument(使用ssh ot pdsh).

问题是我无法更改使用stty命令的脚本.这是一个常见的脚本,我编写了包装器.建议?

linux ssh bash stty

5
推荐指数
1
解决办法
1万
查看次数

RS232控制台通信 - 将波特率设置为1 MBaud

在bash脚本中,我使用以下内容:

$ stty -F /dev/ttyUSB0 921600 raw
$ echo -n "some test data" >/dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)

它按预期工作.使用PL2303 USB转RS232适配器:

$ lsusb
...
Bus 006 Device 010: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 006 Device 011: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Run Code Online (Sandbox Code Playgroud)

现在我尝试用1 MBd做同样的事,但是出现了错误:

$ stty -F /dev/ttyUSB0 1000000 raw
stty: /dev/ttyUSB0: unable to perform all requested operations
Run Code Online (Sandbox Code Playgroud)

当我尝试500 kBd时也是相同的消息.尝试250 kBd的错误信息是不同的:

$ stty -F /dev/ttyUSB0 250000 raw
stty: invalid argument `250000'
Try `stty --help' for more information.
Run Code Online (Sandbox Code Playgroud)

正如所看到的在这里 …

linux bash serial-port stty

5
推荐指数
1
解决办法
2786
查看次数

中断'read -s'后隐藏终端输入

在等待来自操作的输入时按Ctrl-C read -sp会将操作返回到命令行,但是给定的输入会被隐藏,就像它仍在运行一样read -s.

#!/bin/sh

sig_handler() {
  echo "SIGINT received"
  exit 1
}

trap "sig_handler" SIGINT
read -sp "ENTER PASSWORD: " password
echo
echo $password
Run Code Online (Sandbox Code Playgroud)

通常执行如下:

$~ ./example.sh
ENTER PASSWORD:
password
$~ text
-bash: text: command not found
Run Code Online (Sandbox Code Playgroud)

但是如果你在ENTER PASSWORD按Ctrl-C就可以了

$~ ./example.sh
ENTER PASSWORD: SIGINT received
$~ -bash: text: command not found
Run Code Online (Sandbox Code Playgroud)

在您刷新之前,文本或任何其他后续命令不会显示为输入reset.

收到SIGINT后如何将文本返回正常输入?read -p "ENTER PASSWORD: " password出于明显的安全原因,不需要.

linux sh stty

5
推荐指数
1
解决办法
80
查看次数

make stty raw -echo works with zsh or fish

I would like to know if someone has a way to make stty raw -echo works on fish or zsh.

I used it to upgrade a reverse shell but when I do fg i can't press "enter" etc

I got this result :

在此输入图像描述

Thanks !

zsh fish stty

4
推荐指数
1
解决办法
3501
查看次数

从串口读取并以十六进制存储

我有一个甚高频无线电通过串口连续发送状态信息,我需要将我作为十六进制数据存储的消息存储在文本文件中

我尝试了如下所示的hexdump命令,我从高清无线电获得的数据是正确的,但是这个脚本的问题是,当我执行它时,它不会结束,直到我按下ctrl-c

d -A n -t x1 -w128 /dev/ttyS0 > file.txt
Run Code Online (Sandbox Code Playgroud)

所以我尝试了另一个命令,即read命令如下:

COUNTER=0
while [ $COUNTER -lt 10 ]; do
read -r -t1 -N128 DATA < /dev/ttyS0 
echo $DATA >> file1.txt
od -A n -t x1 -w128 file1.txt >> file2.txt
let COUNTER=COUNTER+1
done
Run Code Online (Sandbox Code Playgroud)

但存储在file2.txt中的数据不正确.

我从收音机收到的信息不是按照无线电协议文件我可以解释的格式.所以,当我说数据不正确时,我的意思是消息无法解释(它是随机收到的)

请注意我在执行两个脚本之前设置了串口,如下所示:

stty -g /dev/ttyS0 raw
stty -F /dev/ttyS0 9600
Run Code Online (Sandbox Code Playgroud)

所以,请帮我解决这个问题.或者给了我另一种从串口读取的方法.

问候,

bash shell hexdump serial-port stty

3
推荐指数
1
解决办法
6804
查看次数

是否有任何 stty 选项可以将终端置于原始模式,但仍然让它生成一个信号,例如 CTRL+Z

有很多选择stty。我想要的是基于stty raw -echo:我想知道是否可以添加一个选项,使终端驱动程序在看到例如ctrl+时发送信号z,而不是让我的程序处理这个按键。

terminal gnome-terminal stty

3
推荐指数
1
解决办法
509
查看次数

.inputrc覆盖Control + W.

如何在我的.inputrc中覆盖bash中的Control + W?以下内容本身不起作用:

"\C-w": forward-word
Run Code Online (Sandbox Code Playgroud)

当我添加时它确实有效,stty werase undef但是's'键被神秘地禁用了!

unix linux readline stty

2
推荐指数
1
解决办法
408
查看次数

stty 串行端口奇偶校验设置不持久

我有一个 netcore 应用程序,它打开串行端口,并在检测到奇偶校验错误后在控制台上写入“奇偶校验错误”。它在 Windows 10 中工作正常,但无法在 Linux 下工作。

我的假设是操作系统没有将奇偶校验错误传递给 netcore。

为了检查端口设置,我运行:

stty -D /dev/ttyS0 -ignpar inpck
Run Code Online (Sandbox Code Playgroud)

然后我跑:

stty -D /dev/ttyS0 -a 
Run Code Online (Sandbox Code Playgroud)

并且设置似乎已按预期正确设置(-ignpar inpck)。

然后我运行我的 netcore 3 应用程序,但未检测到奇偶校验错误。

所以我跑

stty -D /dev/ttyS0 -a 
Run Code Online (Sandbox Code Playgroud)

用于验证设置,但这些似乎已重置(-ignpar -inpck)

如何强制我的应用程序在启用 inpck 属性的情况下运行?
有没有办法让inpck默认启用?

谢谢。

更新:netcore 3 应用程序奇偶校验错误检测在 Windows 10 中工作正常,但在 Linux 下不起作用。我的假设是:

  • A) netcore 运行时未将奇偶校验设置传递给驱动程序(不太可能)
  • B) 操作系统忽略指令。

linux serial-port parity stty 9-bit-serial

2
推荐指数
1
解决办法
4414
查看次数

awk/gawk似乎覆盖了结果上的列

[TRIVIAL] [求助]

tl:dr - DOW CRLF觉得好像是胡子行为不端; 琐碎的错误!

我不确定为什么awk/gawk的表现如此.任何提示?有没有看过awk结果覆盖终端上的列?我只在一台机器上看到这个; 在其他地方,东西工作得很好!不确定这是终端行为不端还是其他任何事情.一个stty sane似乎并没有帮助的.有谁见过类似的东西?

 $ cat in.txt 
2132088 AAA_WEB_50181_552222195-1
2110665 AAA_WEB_50177_547796499-2
2157591 AAA_WEB_50181_551310844-1
2117370 AAA_WEB_50178_549250104-1
2109777 AAA_WEB_50180_551512637-1
2112704 AAA_WEB_50179_410838823-13
2116984 AAA_WEB_50178_549463801-2
2119511 AAA_WEB_50179_550076677-2
2122008 AAA_WEB_50180_551679428-1
2124984 AAA_WEB_50177_548026293-1
 $ awk '{print $2 " " $1}' in.txt 
 213208850181_552222195-1
 211066550177_547796499-2
 215759150181_551310844-1
 211737050178_549250104-1
 210977750180_551512637-1
 211270450179_410838823-13
 211698450178_549463801-2
 211951150179_550076677-2
 212200850180_551679428-1
 212498450177_548026293-1
 $ cat /etc/issue.net 
Ubuntu 14.04.4 LTS
 $ gawk '{print $2 " " $1}' in.txt 
 213208850181_552222195-1
 211066550177_547796499-2
 215759150181_551310844-1
 211737050178_549250104-1
 210977750180_551512637-1
 211270450179_410838823-13
 211698450178_549463801-2
 211951150179_550076677-2
 212200850180_551679428-1
 212498450177_548026293-1
 $ gawk -W …
Run Code Online (Sandbox Code Playgroud)

bash terminal awk gawk stty

-1
推荐指数
1
解决办法
336
查看次数

标签 统计

stty ×10

linux ×6

bash ×4

serial-port ×4

terminal ×2

9-bit-serial ×1

awk ×1

fish ×1

gawk ×1

gnome-terminal ×1

hexdump ×1

parity ×1

readline ×1

sh ×1

shell ×1

ssh ×1

unix ×1

windows ×1

zsh ×1