--- Em shell-script@yahoogrupos.com.br, "cerajolis" <[EMAIL PROTECTED]> escreveu > > Olá componentes do grupo, estou estudando pelo livro do Randal K. > Michael - Dominando Unix Shell Scripting e estou precisando de um > auxílio para resolver um problema em um exercício que grava > caracteres para formar linhas em arquivo. > Eu consigo criar o arquivo, porém não as linhas, por isso estou > recorrendo ao grupo, talvez alguém já tenha executado este exercício e > tenha a solução. > > No exercício eu digitei todas as variáveis em minúsculas para não > confundir com as variáveis de ambiente. > E estou utilizando o Korn Shell > Para executar uso o comando ./bigfile.ksh <número_de_linhas_desejado> > > Antecipadamente agradeço. >
Olá Não conheço o ksh, mas veja as mudanças que fiz usando o bash #!/bin/bash # #set -n # verifica sintaxe #set -x # depura Shell script # Define Função function usage { echo -e "\n........USAGE ERROR....... .\n" # uso do '-e' echo -e "\nusage: $SCRIPT_NAME number_of_80_ char_lines \n" } # faltava fechar aqui # Verifica o número correto de parâmetros if [ ! $1 ] # troquei a condição then usage exit 1 # adicionei o 1 fi # Define arquivos e variáveis aqui INE_LENGTH=80 OUT_FILE=/tmp/bigfile > $OUT_FILE SCRIPT_NAME=$(basename $0) TOTAL_LINES=$1 #LINE_COUNT=0 # comentei essa linha, veja o for CHAR=X # Caractere a escrever no arquivo # inicio for ((LINE_COUNT=0;$LINE_COUNT < $TOTAL_LINES;LINE_COUNT++ )) do for ((CHAR_COUNT=0;$CHAR_COUNT < $LINE_LENGTH;CHAR_COUNT++)) do echo -e "${CHAR}\c " >> $OUT_FILE # '-e' e '>>' done echo " " >> $OUT_FILE # '>>' done Espero que ajude. [] hpfn