Criando um script de shell dentro de um editor de texto

1

Eu quero saber como criar um script de shell dentro de um editor de texto.

Então é isso que eu tenho dentro do editor de texto.

#!/bin/bash
mkdir -p temp
cd temp

if [ $1 > $2 ] ;
then
    echo $1
else
    echo $2
fi

./max.sh 4 6
./max.sh -2 -5
./max.sh 7 -3

Então basicamente dentro do editor de texto eu quero criar um script de shell chamado max.sh para que abaixo dele eu possa passar argumentos através dele, mas no mesmo editor de texto.

Para deixar mais claro:

Eu quero que a declaração if esteja dentro de um script chamado max.sh, então abaixo dela eu posso chamar o max.sh com argumentos e ele funcionará.

    
por shawn edward 04.03.2016 / 00:06

3 respostas

10

O que você quer é chamado de função :

#!/bin/bash

max() {
  if [ "$1" -gt "$2" ] ;
  then
    printf %s\n "$1"
  else
    printf %s\n "$2"
  fi
}

max 4 6
max -2 -5
max 7 -3

Leitura adicional:

por 04.03.2016 / 00:14
3

Você pode fazer o que você perguntar assim:

#!/bin/bash
mkdir -p temp
cd temp

cat <<\_script_lines_ > max.sh
#!/bin/bash
if [ "$1" -gt "$2" ] ;
then
    printf '%s\n' "$1"
else
    printf '%s\n' "$2"
fi
_script_lines_

chmod u+x max.sh             ### make the script excutable.

# Use the script:
./max.sh 4 6
./max.sh -2 -5
./max.sh 7 -3

Mas a função já recomendada pelo Wildcard parece mais razoável de usar.

    
por 04.03.2016 / 00:27
0

Se você sentir vontade de programá-lo, você pode obter um script para abrir uma segunda ou até uma terceira janela do console e usá-los para entrada / saída, como leitura, gravação de outros arquivos, mas usando consoles.

Eu não sei qual é a sintaxe do bash, você precisaria pesquisar no Google ou perguntar novamente no stackoverflow.

    
por 04.03.2016 / 10:34