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:
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á.
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:
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.
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.
Tags bash shell-script