AS-400 equivalente a mais ou menos

2

Existe um equivalente AS-400 de more ou less , para que eu possa percorrer a saída do comando? Estou conectando-me à caixa usando um cliente telnet específico do AS400 chamado Telnet / 400 (que não consigo encontrar um link para o online), mas estou feliz em me conectar com outro cliente se isso facilitar as coisas. / p>     

por Michael Kopinsky 30.11.2010 / 07:08

2 respostas

1

Se você tiver o OS / 400 PASE, deverá ter muitos dos Comandos Unix disponíveis, incluindo more .

É possível que less seja compilado no PASE.

Você está obtendo um shell Unix quando faz telnet ou está no OS / 400? O comando WRKDOC pode funcionar para você . Já faz muito tempo desde que trabalhei em um AS / 400.

Não sei por que sua pergunta foi migrada para o Superusuário. Deveria ter sido migrado para falha do servidor.

Editar:

Qshell é muito muito parecido com Bash ou ksh. Aqui está uma função Bash simplista que age como um pager em um pipe. Você pode usá-lo como: 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
}

Não tenho idéia se o dispositivo especial /dev/tty está disponível, mas pode haver uma alternativa. Ou você pode usar algo assim que é mais complicado:

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<&-

Faça os ajustes de sintaxe apropriados, se necessário, conforme mostrado no primeiro exemplo.

Não acredito que more não seja fornecido. Mesmo o antigo pg parece estar faltando.

    
por 30.11.2010 / 11:13
0

Isso é chato, mas por alguma razão não posso comentar minha pergunta ou a resposta de Dennis. Talvez seja porque no momento em que a pergunta foi migrada, eu não tinha uma conta no SU. De qualquer forma, essa resposta é essencialmente uma resposta a Dennis.

Eu não acho que o PASE esteja disponível na caixa em que estou. (Digitar QP2TERM do CL não fez nada, e não há diretório /QOpenSys .) Eu tenho trabalhado no qsh - pode ser que haja uma maneira melhor de fazer as coisas, mas pelo menos qsh se sente remotamente semelhante ao que eu estou acostumado. É como o sentimento daquela lata familiar da Coca-Cola quando você está na Índia e come alimentos que você não está acostumado. : -)

De qualquer forma, acho que encontrei minha solução em esta página do InfoCenter . Eu posso apenas apertar F7 para rolar para cima e F8 para rolar para baixo. Pode não ser tão elegante quanto more , mas funciona e não exige que eu use ls a*;ls b*; ls c* etc. para ver o conteúdo de um diretório.

    
por 30.11.2010 / 15:28