3 votos

Bash script combina echo say y read

Usando un bash script en Mac OS X, ¿cómo puedo combinar echo , say y read para hacerlo más limpio y con menos líneas de código? El siguiente script funciona pero para mí hay demasiadas líneas. Muchas gracias por tu ayuda.

#!/usr/bin/env bash

clear

echo -n "Enter your first name: "
say "Enter your first name"
read -r name
echo -n "Enter your last name: "
say "Enter your last name"
read -r lastname
say "Good morning ${name}${lastname}"

1voto

Se pueden definir funciones en bash :

echoAndSay() {
    say $*
    printf "%s: " "$*"
}

echoAndSay "Enter your first name"
read -r name
echoAndSay "Enter your last name"
read -r lastname
say "Good morning ${name} ${lastname}"

0 votos

Gracias nohillside es mucho mejor así. Cuando ejecuté la primera vez recibí un mensaje de error, creo que se supone que debe ser así: printf "%s:" "$*" lo cual hice y funcionó. Gracias de nuevo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X