korn シェルで印刷コマンドが見つからないというメッセージが表示され続けます。シェルで印刷を実行すると、同じ内容が表示されます。この問題をどのように解決できますか? printfはうまく機能しますが、何らかの理由でprintは機能しません。
これはRedhat 5.5で、kshは3.2.25リリースです。
ありがとう
答え1
より多くの情報を提供できますか? "print"は常に存在しなければならないkshのシェル組み込み機能です。以下は私の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」という実行ファイルがありません。これがあなたにも効果があるかどうかを確認できます。新しいシェルインスタンスを起動し(「/bin/ksh」と入力して)、次のように言います。
PATH= whence -v print
答え2
kshには対応するバージョンはありません。しかし、これはRHEL 5.5のbashバージョンなので、bashを使用しているようです。 ksh 組み込み機能をお探しですか?使用echo
またはprintf
交換してください。あるいは、kshを実行してください(インストールされていない可能性があります。bashは、組み込みLinuxのインストールでは事実上標準シェルです)。
print
POSIX準拠の翻訳オプションのガイドですprintf
。
- オプションがないか
-e
:printf '%b\n'
- 用途
-n
:\n
形式から(printf %b
またはprintf %s
)省略 -p
:コプロセスが必要な場合はkshが必要です- または
-r
:-R
printf '%s\n'
-s
>>
: 追加の目的の出力ファイルに明示的にリダイレクト-u
:リダイレクトを使用してください。printf … >&3