¿Cómo puedo pasar nombres de archivos a los scripts?
Un script que procese archivos concretos es útil como registro de lo que hiciste, pero uno que te permita procesar los archivos que quieras es más útil.
Para hacerlo,
puedes utilizar la expresión especial $@
(signo de dólar seguido inmediatamente del signo arroba)
que significa "todos los parámetros de la línea de comandos dados al script".
Por ejemplo, si unique-lines.sh
contiene sort $@ | uniq
, cuando ejecutes:
bash unique-lines.sh seasonal/summer.csv
el intérprete de comandos sustituye $@
por seasonal/summer.csv
y procesa un archivo. Si ejecutas esto:
bash unique-lines.sh seasonal/summer.csv seasonal/autumn.csv
procesa dos archivos de datos, y así sucesivamente.
Como recordatorio, para guardar lo que has escrito en Nano, escribe Ctrl
+ O
para escribir el archivo, luego Intro para confirmar el nombre del archivo, y luego Ctrl
+ X
para salir del editor.
Este ejercicio forma parte del curso
Introducción a Shell
Ejercicio interactivo práctico
Convierte la teoría en acción con uno de nuestros ejercicios interactivos
