команда stat не найдена

Я хочу выполнить команду stat в моей оболочке unix / usr / bin / ksh:

Входные данные:

/bin/date +%Y%m%d%H%M%S -d "$(/usr/bin/stat -c %x find.txt)" 

И выход:

 /usr/bin/ksh: stat: not found 

Моя система: SunOS 5.10 Generic_150400-23 sun4v sparc sun4v

Вы можете мне помочь?

  • Одинарные или двойные скобки
  • Как вызвать скрипт KSH из другого скрипта KSH
  • Как распечатать конкатенацию строк в Korn Shell
  • KornShell говорит мне «неизвестный формат спецификатора»
  • Запись в следующую строку в разделенном PIPE файле
  • Как проверить скрипт ksh на ошибки синтаксиса?
  • Использование псевдонимов директивы и имен с помощью Ksh
  • Ловушка точка (.) Файл не найден ошибок в KSH
  • 3 Solutions collect form web for “команда stat не найдена”

    Команда stat не является стандартной. В Linux есть более ограниченная версия встроенной Linux, одна из которых имеет совершенно разные опции для FreeBSD и OSX, и ни один из них не используется в большинстве других вариантов Unix, таких как Solaris, AIX и HP-UX. Ваш синтаксис выглядит так, как будто он предназначен для stat Linux.

    Очевидно, вы используете систему без stat . Вероятно, у вас нет date -d .

    Единственный переносимый способ указать время доступа к файлу – ls .

     ls -log -u find.txt 

    Это дает менее точную информацию о том, что вам нужно, в громоздком формате.

    Если вы можете установить GNU coreutils , сделайте это и используйте свои команды stat и date . Многие современные версии Unix имеют простой способ установки GNU-утилит.

    В качестве альтернативы, используйте Perl, который очень часто устанавливается в Unix-системах. Вызовите stat чтобы прочитать временную метку файла и localtime чтобы разбить временную метку на дату и время.

     perl -e '@stat = stat($ARGV[0]); @time = localtime($stat[9]); printf "%04d%02d%02d%02d%02d%02d\n", $time[5]+1900, @time[4,3,2,1,0]' 

    Довольно уверен, что ваша ошибка означает, что ваша оболочка:

     /usr/bin/ksh: 

    Не удается найти «stat»:

     stat: not found 

    Предоставляет ли ваша операционная система команду «stat»? Вам необходимо предоставить дополнительную информацию о вашей операционной системе и ее версию для дальнейших указаний.

    У вас может также возникнуть проблема в переменной среды «PATH».

    Это полностью зависит от вашей системы, которую вы не указали. Альтернативой установке двоичного файла, предоставляемого вашим менеджером пакетов, является компиляция программы из источника. Для этого сначала необходимо загрузить источник coreutils-8.0 ( coreutils-8.0 на момент написания). Если он находится в архиве, распакуйте его, а затем введите в каталог источника. Запустите скрипт configure с помощью команды ./configure , а затем дождитесь его завершения. После завершения настройки (без серьезных ошибок) запустите make с командой make . Время, необходимое для завершения работы, может составлять от 30 секунд до буквально дней, в зависимости от размера и сложности приложения. В этом случае, однако, очень маловероятно, что шаг make займет несколько минут. После make make компиляция программ (без ошибок), установите программы с помощью команды make install или если вы не являетесь пользователем root sudo make install . Это займет всего несколько секунд, хотя в некоторых случаях это может занять больше времени. После завершения вы можете выйти из каталога coreutils, а затем приступить к его удалению. Единственными требованиями для работы (наряду с соответствующими библиотеками и зависимостями *) являются GCC или CC и утилита make.

    Чтобы выполнить все эти шаги с помощью одной команды, вы можете ввести ./configure && make && make install .
    Полный список зависимостей для coreutils: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed .

    Для получения дополнительной информации см. Следующие страницы:
    http://linux.die.net/man/2/stat http://www.computerhope.com/unix/stat.htm

    Linux и Unix - лучшая ОС в мире.