OK, esse script aceita um argumento obrigatório e dois argumentos opcionais. Ele sairá (com um erro) se você não especificar pelo menos um argumento. Não faz muito além disso!
#!/bin/sh
if [ -z "$1" ]
then
echo "Missing filename: 1"
exit 1
else
file1=$1
fi
file2="$2"
file3="$3"
printf "File 1: %s\n" "$file1"
printf "File 2: %s\n" "$file2"
printf "File 3: %s\n" "$file3"
cat "$file1"
Salve como (por exemplo) script_name.sh
e defina como executável:
chmod u+x script_name.sh
Em seguida, execute-o assim:
./script_name.sh script_name.sh script_name.sh script_name.sh
Ele deve exibir os três argumentos que você passou (que são todos "script_name.sh") e, em seguida, cat
.
Quando eu tentei isso, eu experimentei a conclusão da tabulação - ele funcionava bem automaticamente (mostrava arquivos e diretórios quando eu pressionava o Tab ). Eu não fiz nada para fazer isso. No entanto, se você quiser apenas deixar seu script funcionar com determinados arquivos complete -f -X '!*.png' script_name.sh
- isso mostrará apenas arquivos ".png" quando você pressionar a tecla Tab .