AS-400 эквивалент более или менее

Есть ли эквивалент AS-400 more или же less, так что я могу пролистать вывод команды? Я подключаюсь к коробке с помощью специального клиента Telnet AS400 под названием Telnet/400 (который, кажется, не могу найти ссылку на Интернет), но я рад подключиться к другому клиенту, если это облегчит задачу.

2 ответа

Если у вас OS/400 PASE, у вас должно быть много обычных команд Unix, включая more,

Возможно, что less скомпилирует в PASE.

Вы получаете оболочку Unix, когда вы telnet или вы в OS/400? WRKDOC Команда может работать на вас. Прошло много времени с тех пор, как я работал над AS/400.

Я не знаю, почему ваш вопрос был перенесен в Super User. Он должен был быть перенесен на сбой сервера.

Редактировать:

Qshell очень похож на Bash или ksh. Вот упрощенная функция Bash, которая действует как пейджер в трубе. Вы можете использовать его как: ls -l | pager,

pager () {
    local line c
    while read line
    do
        echo "$line"
        ((c++))            # or use let c+=1
        if ((c >= 24))     # or use if [[ $c -ge 24 ]]
        then
            c=0
            read -p "--more--" </dev/tty # press enter to continue
            # a test for "q" for "quit" could be done here (using return)
            echo
        fi
    done
}

Понятия не имею, есть ли специальное устройство /dev/tty доступно, но может быть альтернатива. Или вы можете использовать что-то вроде этого, что является более громоздким:

exec 3<&0; unset line c; ls -l | while read line; do echo "$line"; ((c++)); if ((c >=40)); then c=0; read -p "--more--" -u 3; echo; fi; done; exec 3<&-

При необходимости внесите соответствующие корректировки синтаксиса, как показано в первом примере.

Я не могу в это поверить more не предоставляется Даже древний pg кажется, отсутствует.

Это раздражает, но по какой-то причине я не могу комментировать ни мой вопрос, ни ответ Денниса. Возможно, потому что на момент переноса вопроса у меня не было учетной записи на SU. В любом случае этот ответ по сути является ответом Деннису.

Я не думаю, что PASE доступен на коробке, на которой я нахожусь. (Typing QP2TERM из CL ничего не делал, и нет /QOpenSys каталог.) Я работал в qsh - может быть, есть лучший способ сделать что-то, но, по крайней мере, qsh кажется отдаленно похожим на то, к чему я привык. Это похоже на ощущение знакомой банки кока-колы, когда вы в Индии и едите продукты, к которым вы совершенно не привыкли.:-)

В любом случае, я думаю, что нашел свое решение на этой странице Инфоцентра. Я могу просто нажать F7, чтобы прокрутить вверх, и F8, чтобы прокрутить вниз. Это может быть не так элегантно, как more, но это работает и не требует от меня ls a*;ls b*; ls c* и т.д., чтобы увидеть содержимое каталога.

Другие вопросы по тегам