标签: tty

stty hupcl ixon ixoff

stty, not a typewritter在hpux上看到消息(尽管有交互式终端检查?),我猜这些是由于我的.kshrc文件中的stty行:

case $- in
*i* )
    stty hupcl ixon ixoff
    stty erase '^?' kill '^U' intr '^C' eof '^D' susp '^Z'
;;
esac
Run Code Online (Sandbox Code Playgroud)

两个问题:

1)我知道擦除线为什么存在,因为没有它就没有退格.我继承了这些.kshrc行,但不知道他们做了什么.

有人知道hupcl ixon ixoff线的意义吗?stty手册页不是特别有启发性:

hupcl (-hupcl)           Hang up (do not hang up) modem connection on
                         last close.

ixon (-ixon)             Enable (disable) START/STOP output control.
                         Output is stopped by sending an ASCII DC3 and
                         started by sending an ASCII DC1.

ixoff (-ixoff)           Request that the system send (not send)
                         START/STOP characters when …
Run Code Online (Sandbox Code Playgroud)

ksh hp-ux tty

6
推荐指数
1
解决办法
6890
查看次数

在 tty 之间移动作业

有人知道是否可以在 tty 之间转移工作吗?

示例:在 ttys004 启动作业,按 Ctrl+Z 将其分离,输入 bg 1 将其移至后台。然后我想从示例 ttys002 到达它。

linux background tty

6
推荐指数
1
解决办法
1827
查看次数

在Linux下将AT命令重定向到microcom命令

在Linux BusyBox 命令中存在microcom与串行调制解调器通信的命令:

BusyBox v1.13.2 (2012-05-10 17:13:08 CEST) multi-call binary

Usage: microcom [-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY

Copy bytes for stdin to TTY and from TTY to stdout

Options:    
        -d  Wait up to DELAY ms for TTY output before sending every next byte to it
        -t  Exit if both stdin and TTY are silent for TIMEOUT ms
        -s  Set serial line to SPEED
        -X  Disable special meaning of NUL and Ctrl-X from stdin
Run Code Online (Sandbox Code Playgroud)

我没有使用stdin来键入AT命令,而是将它们放入文本文件并将该文件的内容重定向为上述命令的stdin.例如,我有一个文件 …

linux redirect stdin pipe tty

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

从bash脚本中愚弄python的os.isatty

我正在编写一个将从cron调用的bash脚本.

bash脚本运行一个python命令,通过使用pythons os.isatty函数检测它何时在终端中, 并输出不同的东西,具体取决于它是手动运行还是通过cron运行.这使得调试非常困难,我想这样做,以便它总是假设它不在TTY中.

我希望能够在bash脚本中添加一些内容来欺骗它不在终端中运行的python脚本,因此总是输出相同的东西.

为了确认,我控制了bash脚本,但不想编辑python,因为这是一个打包的应用程序.

有任何想法吗?

我希望这是有道理的.

非常感谢你提前.

python bash cron tty

6
推荐指数
1
解决办法
1830
查看次数

为什么 terminfo[kcuu1] = '\EOA'?

据我所知terminfo(5),kcuu1 应该是按下向上箭头时终端发送的序列。我从来没有见过除了^[[A(现在谈论cat,搞乱终端设置等)以外的任何东西。那么,鉴于我使用的终端(rxvt、gnome-terminal、iTerm)都默认为 TERM=xterm,为什么不是 kcuu1 \E[A

我看到 cuu1 \E[A,但是(再次从手册页),这是我应该发送到终端以移动光标的字符串,而不是终端发送给我的字符串。

顺便说一句,这是 OS X 的情况。

tty termcap terminfo

6
推荐指数
1
解决办法
1458
查看次数

在node.js中使用tty生成子进程

我正在尝试使用ssh在远程服务器上做一些工作 - 并且从node.js在本地机器上调用ssh

脚本的精简版本如下所示:

var execSync = require("child_process").execSync;
var command =
  'ssh -qt user@remote.machine -- "sudo mv ./this.thing /to/here/;"';
execSync(command,callback);

function callback(error,stdout,stderr) {

  if (error) {
    console.log(stderr);
    throw new Error(error,error.stack);
  }
  console.log(stdout);
}
Run Code Online (Sandbox Code Playgroud)

我收到了requiretty错误sudo: sorry, you must have a tty to run sudo.

如果我ssh -qt user@remote.machine -- "sudo mv ./this.thing /to/here/;"直接从命令行运行 - 换句话说,直接从tty运行 - 我没有错误,并且this.thing移动/to/there/得很好.

这是部署脚本的一部分,它真的不适合添加!requiretty到sudoers文件.

反正有没有让node.js在tty中运行命令?

javascript ssh tty child-process node.js

6
推荐指数
1
解决办法
4882
查看次数

在 Rust 中,如何用颜色捕获过程输出?

我想捕获另一个进程的输出(例如git status),对其进行处理,并使用所有样式(粗体、斜体、下划线)和颜色进行打印。进一步处理它对我来说非常重要String,我不想只打印它。

在 Unix 世界中,我认为这会涉及转义码,我不确定 Windows 世界,但这对我也很重要。

我知道如何在没有颜色的情况下做到这一点:

fn exec_git() -> String {
    let output = Command::new("git")
        .arg("status")
        .output()
        .expect("failed to execute process");

    String::from_utf8_lossy(&output.stdout).into_owned()
}
Run Code Online (Sandbox Code Playgroud)

也许我应该改用spawn

terminal console tty windows-console rust

6
推荐指数
1
解决办法
4500
查看次数

docker-compose exec python输入设备不是AWS EC2 UserData中的TTY

我正在使用EC2 UserData来引导实例.

TRacking bootstrap执行日志/var/log/cloud-init-output.log,我发现脚本停在:

+ docker-compose exec web python /var/www/flask/app/db_fixtures.py
the input device is not a TTY
Run Code Online (Sandbox Code Playgroud)

看起来这个命令它以交互模式运行,但为什么呢?以及如何为此命令强制非交互模式(docker-compose exec)?

automation amazon-ec2 tty docker docker-compose

6
推荐指数
1
解决办法
4070
查看次数

venv 内的 python3 给出 termios.error: (25, '不适合设备的 ioctl')

我一直在我创建的虚拟环境中运行 python 脚本pipenv shell,它运行良好。

我总是从 bash 脚本运行该进程,该脚本将目录更改为包含 python 脚本的文件夹,使用 激活 virtualenv pipenv shell,然后运行 ​​python 脚本,然后退出 virtualenv。

但是,我一定在终端中输入了错误的内容并破坏了某些内容,现在当我在虚拟环境中运行脚本时,我得到了这个:

Launching subshell in virtual environment...
Traceback (most recent call last):
  File "/home/manuel/.local/bin/pipenv", line 8, in <module>
    sys.exit(cli())
  File "/home/manuel/.local/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/manuel/.local/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/manuel/.local/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/manuel/.local/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/manuel/.local/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, …
Run Code Online (Sandbox Code Playgroud)

python linux ioctl tty pipenv

6
推荐指数
0
解决办法
1189
查看次数

在 Git Bash 中,如何修复“stdin 不是 tty”错误?

我在 Windows 10 上使用 Git Bash。我想导入一个 SQL 文件以在我的 PostGres 12 本地数据库中运行。我尝试了下面的

$ PGPASSWORD=$DB_PASSWORD psql -U${DB_USER} $DB_NAME < scripts/my-script.sql
stdin is not a tty
Run Code Online (Sandbox Code Playgroud)

当我查看数据库时,脚本尚未运行,这使我相信错误消息告诉了我原因,但我不确定它的含义或如何修复它。

stdin tty git-bash psql windows-10

6
推荐指数
1
解决办法
6981
查看次数