Задать вопрос
@estoy

Почему в функции bash не видно переменную «$#» ?

Всем привет. Вообщем проблема такая. Есть некий сценарий на bashе, там есть функция которая проверяет количество переданных сценарию параметров, и в зависимости от того передан параметр или нет, функция выполняет определенные действия. Например:

#!/bin/bash
function my_func() {
if [ $# -eq 0 ]; then
echo "Передано 0 параметров"
else
echo "Передано $# параметров"
fi
}

my_func

но при вызове скрипта и передачи ему параметров, эта переменная "$#" всегда равна нулю, хотя если просто написать не в теле функции echo "$#", то покажет количество переданных сценарию параметров. Вопрос, почему так, не могу врубится?
Версия bash 4.2.25(1)
  • Вопрос задан
  • 2688 просмотров
Подписаться 2 Комментировать
Подписчики вопроса 2 К ответам на вопрос (1)