Concalc - “tcsetattr 错误:设备的 ioctl 不合适”

Concalc - “tcsetattr 错误:设备的 ioctl 不合适”

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

#!/bin/bash

calc=$(concalc "$*")

printf "%s\n" "$calc"

我确实得到了我想要的结果,但总是出现此错误消息:
tcsetattr error: Inappropriate ioctl for device

有谁知道如何摆脱这个?当我concalc单独使用时,没有问题,但一旦我在 acommand-substitution或 a中使用它pipe,我就会收到此消息。

答案1

它似乎坚持设置一些终端属性,例如禁用回显,无论其运行模式如何(交互式或非交互式)。我认为它对脚本有某种用途,因为它在设置和重置之间不会在终端上执行任何操作。

除了修复代码之外,您还可以将错误重定向:

calc=$(concalc "$*" 2>/dev/null)

相关内容