Função, valor de retorno usando pwd no KSH

0

Eu tentei escrever um pequeno script ksh :

fDestExists (){
    cd /tmp
    read vANSWER?" >> Do you want to create a repository in pwd ? Type YES or NO"
        echo "    |----> $(fGetDatum) You typed: " $vANSWER         
        if [ "$vANSWER" = "YES" ]; then
                read vANSWER2?" >> Type your repository's name."
                mkdir -p $vANSWER2
                cd $vANSWER2
                echo "    |----> Logs will be coped in pwd."        
        elif [ "$vANSWER" = "NO" ]; then
            echo "    |----> Logs will be coped in pwd."        
        else 
            echo "    |----> You typed a wrong answer; exiting."        
            exit 1
        fi  
    pwd #return
}

Várias perguntas aqui.

  1. Como posso usar o valor do pwd no meu eco?

  2. Para retornar o valor, li que era possível usar echo [yourValue] na última linha. Então, onde você chama a função, eu acho que posso usar: $? Então, como posso fazer o mesmo comportamento com pwd?

por user1058398 18.11.2013 / 10:05

1 resposta

1

1: você pode usar diretamente a variável PWD, por exemplo:

echo "    |----> Logs will be coped in $PWD."

2: $? é usado para recuperar o último valor de retorno do comando, que é numérico. Não há como passar uma string aqui, o valor de retorno deve ser 0 significando sucesso ou algo diferente significando alguma falha. Use return 0 ou return -1 se você deseja obter essa informação. Como você está modificando o diretório atual do script, ele estará disponível como $PWD no lado do chamador de qualquer maneira.

    
por 18.11.2013 / 10:43

Tags