未找到打印命令

未找到打印命令

从 korn shell 中,我不断收到找不到 print 命令的消息。当我从 shell 运行 print 时,它说同样的事情。我该如何解决这个问题? printf 工作正常,但由于某种原因 print 不能。

这是 redhat 5.5,ksh 是 3.2.25-release。

谢谢

答案1

我们可以提供更多信息吗? “print”是 ksh 的 shell 内置函数,它应该始终存在。以下是我自己的 redhat 系统的一些信息:

$ cat /etc/redhat\-release 
Red Hat Enterprise Linux Workstation release 6.3 (Santiago)

$ /bin/ksh --version
version         sh (AT&T Research) 93t+ 2010-06-21

$ whence -v print
print is a shell builtin

您还可以检查是否没有名为“print”的别名。我在 /usr/bin 或 /bin 等中没有任何名为“print”的可执行文件。您可以检查这是否也适合您。启动一个新的 shell 实例(输入“/bin/ksh”),然后说

PATH= whence -v print

答案2

没有这样的 ksh 版本。然而,这是 RHEL 5.5 上的 bash 版本,因此看起来您正在使用 bash。您在寻找 ksh 内置函数吗?使用echoprintf代替。或者运行 ksh(可能未安装,bash 是非嵌入式 Linux 安装上事实上的标准 shell)。

print这是符合 POSIX 标准的翻译选项的指南printf

  • 无选项或-eprintf '%b\n'
  • 使用-n:\n从格式中省略 (printf %bprintf %s)
  • -p:如果您需要协进程,则需要 ksh
  • -r-Rprintf '%s\n'
  • -s:明确重定向到所需的输出文件,用于>>附加
  • -u:使用重定向,例如printf … >&3

相关内容