команда печати, не найденная

Посмотрите:

$ echo -n foo > foo 
$ cat foo
foo$
$ echo "" >> foo
$ cat foo
foo

так echo "" >> noeol-file должен добиться цели. (Или Вы означали просить идентификацию этих файлов и фиксацию их?)

редактирование, удаленное "" от echo "" >> foo (см. комментарий @yuyichao), edit2 добавил "" снова (но см. комментарий @Keith Thompson's),

0
08.10.2012, 20:30
2 ответа

У нас могло быть немного больше информации? "печать" является встроенной функцией оболочки для 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

Вы могли бы также проверить, чтобы видеть, что у Вас нет псевдонимов, названных "печатью". У меня нет исполняемых файлов названными "печатью" в/usr/bin или / мусорным ведром, и т.д. Вы могли бы проверить, верно ли это также для Вас. Запустите новый экземпляр оболочки (введите "/bin/ksh"), и затем скажите

PATH= whence -v print
0
28.01.2020, 05:03
  • 1
    это - "удар GNU, версия 3.2.5 (1) - выпуск (x86_64-redhat-linux-gnu)", я просто заметил его, говорит удар GNU. Похоже на некоторых, как это создало символьную ссылку на это. Не уверенный, почему. –  Matt 08.10.2012, 23:35

Нет такой версии ksh. Это - версия удара на RHEL 5.5, однако, таким образом, похоже на использование удара. Вы ищете ksh встроенное? Использовать echo или printf вместо этого. Или выполненный ksh (то, которое не могло бы быть установлено, удар, является фактической стандартной оболочкой на невстроенных установках 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
0
28.01.2020, 05:03

Теги

Похожие вопросы