training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как вывести циклом список аргументов переданных скрипту sh args BASH

Создано: 30 мая 2017Автор: Егор Астапов2689 просмотровСложность: легкий

Очень часто sh-скрипту нужно передать входные параметры. Например, ./show_args.sh 1 2 3 4 5 6 7. Эти входные параметры можно использовать в качестве значений переменных. Посмотрите на пример. Тут переданные параметры выводятся в одну строку.


#!/bin/bash
# Как вывести циклом список аргументов переданных скрипту sh BASH

index=1
echo "Список аргументов в переменной \"\$*\":"

# $* воспринимает все аргументы как одну строку.
for arg in "$*" # Работает некорректно, если "$*" не ограничена кавычками.
do 
  echo "Аргумент #$index = $arg" 
  let "index+=1"
done

echo "Полный список аргументов выглядит как одна строка."
exit 0

# вывод: 
#Список аргументов в переменной "$*":
#Аргумент #1 = 1 2 3 4 5 6 7
#Полный список аргументов выглядит как одна строка.

Посмотрите на второй пример. Скрипт показывает список переданных аргументов построчно.


#!/bin/bash
index=1
echo "Список аргументов в переменной \"\$@\":"

# $@ воспринимает аргументы как отдельные строки (слова).
for arg in "$@"
do 
  echo "Аргумент #$index = $arg" 
  let "index+=1"
done

echo "Список аргументов выглядит как набор различных строк (слов)."
exit 0

# вывод: 
#Список аргументов в переменной "$@":
#Аргумент #1 = 1
#Аргумент #2 = 2
#Аргумент #3 = 3
#Аргумент #4 = 4
#Аргумент #5 = 5
#Аргумент #6 = 6
#Аргумент #7 = 7
#Список аргументов выглядит как набор различных строк (слов).

Хочу показать вам как проверить количество входных параметров у sh-скрипта args BASH. В этой статье вы увидите как при помощи условия if-else можно проверить количество переданных параметров.

Комментарии

реклама