Вопросы с тегом «function»

Вопросы по использованию функций в контексте Unix и Linux (в основном, но не только сценарии оболочки). Вопросы по программированию на Python, Perl, Ruby и т. Д. Следует задавать в Stack Overflow.

14
В Bash, когда для псевдонима, когда для сценария, и когда написать функцию?
У меня ушло почти 10 лет использования Linux, чтобы задать этот вопрос. Все это было методом проб и ошибок и случайным ночным интернет-серфингом. Но людям не нужно 10 лет для этого. Если бы я только начинал с Linux, я бы хотел знать: когда использовать псевдоним, когда писать сценарий и когда …

9
Как передать аргумент командной строки в сценарий оболочки?
Я знаю, что сценарии оболочки просто запускают команды, как если бы они выполнялись в командной строке. Я хотел бы иметь возможность запускать сценарии оболочки, как если бы они были функциями ... То есть, принимая входное значение или строку в сценарий. Как мне подойти к этому?

5
Разница между «функцией foo () {}» и «foo () {}»
Я могу определить bashфункции, используя или опуская functionключевое слово. Есть ли разница? #!/bin/bash function foo() { echo "foo" } bar() { echo "bar" } foo bar Оба вызова функций fooи barуспешно, и я не вижу никакой разницы. Поэтому мне интересно, если это просто для улучшения читабельности, или есть что-то, что …
98 bash  shell  function  posix 

8
Могу ли я «экспортировать» функции в bash?
source some_file some_file: doit () { echo doit $1 } export TEST=true Если я использую исходный код some_file, функция «doit» и переменная TEST доступны в командной строке. Но запускаем этот скрипт: script.sh: #/bin/sh echo $TEST doit test2 Вернет значение TEST, но сгенерирует ошибку о неизвестной функции "doit". Могу ли я …
81 bash  function 

12
Зачем писать весь скрипт bash в функциях?
На работе я часто пишу сценарии bash. Мой руководитель предложил разбить весь сценарий на функции, как показано в следующем примере: #!/bin/bash # Configure variables declare_variables() { noun=geese count=three } # Announce something i_am_foo() { echo "I am foo" sleep 0.5 echo "hear me roar!" } # Tell a joke walk_into_bar() …

3
Обновить псевдонимы и функции после определения новых псевдонимов и функций?
Когда я определяю новый псевдоним в .bash_aliasesфайле или новую функцию в .bashrcфайле, существует ли какая-либо команда обновления, чтобы можно было немедленно использовать новые псевдонимы или функции без закрытия терминала (в моем случае терминал xfce4 с несколькими открытыми вкладками открывает много файлов а в середине работы)?

4
Каковы минимальные и максимальные значения кодов выхода в Linux?
Каковы минимальные и максимальные значения следующих кодов выхода в Linux: Код завершения, возвращаемый двоичным исполняемым файлом (например, программой на Си). Код выхода, возвращаемый скриптом bash (при вызове exit). Код выхода, возвращаемый функцией (при вызове return). Я думаю, что это между 0и 255.

8
Выполнение простой математики в командной строке с использованием функций bash: $ 1, деленное на $ 2 (возможно, с использованием bc)
Иногда мне нужно разделить одно число на другое. Было бы здорово, если бы я мог просто определить функцию bash для этого. До сих пор я вынужден использовать такие выражения, как echo 'scale=25;65320/670' | bc но было бы здорово, если бы я мог определить функцию .bashrc, которая выглядела бы как divide …

4
Область действия локальных переменных в функциях оболочки
После прочтения 24.2. Локальные переменные , я думал, что объявление переменной varс ключевым словом localозначало, что varзначение было доступно только внутри блока кода, ограниченного фигурными скобками функции. Однако после запуска следующего примера, я обнаружил, что varтакже может быть доступна, и считываться из функций , вызываемых этого блоком кода - то …

3
Функции выполняются как подпроцессы в Bash?
В Advanced Bash-Scripting Guide , в примере 27-4 , 7-я строка снизу, я прочитал это: Функция выполняется как подпроцесс. Я сделал тест в Bash, и кажется, что приведенное выше утверждение неверно. Поиски на этом сайте, Bash Man, и моя поисковая система не проливают свет. У вас есть ответ и вы …
28 bash  process  function 

4
Почему при написании оболочки для cd мне нужно использовать cd «$ @» вместо cd «$ 1»?
В другом месте я видел функцию CD, как показано ниже: cd() { builtin cd "$@" } почему рекомендуется использовать $@вместо $1? Я создал тестовый каталог "r st" и вызвал скрипт, содержащий эту функцию, и он работал в любом случае $ . cdtest.sh "r st" но $ . cdtest.sh r stне …

4
Выполнение пользовательской функции в вызове find -exec
Я использую Solaris 10, и я протестировал следующее с помощью ksh (88), bash (3.00) и zsh (4.2.1). Следующий код не дает никакого результата: function foo { echo "Hello World" } find somedir -exec foo \; Поиск действительно соответствует нескольким файлам (как показано заменой -exec ...на -print), и функция отлично работает …

2
что такое zsh-эквивалент экспорта bash -f
Итак, я начал использовать zsh. Мне нравится все в порядке. Это выглядит очень круто и гладко, и тот факт, что текущий рабочий каталог и фактическая командная строка находятся на разных строках, это хорошо, но в то же время я замечаю, что это zshможет быть немного медленнее, чем bash, особенно при …

6
Как добавить функцию в .bash_profile / .profile / bashrc в оболочке?
У меня есть функция, которая преобразовывает время эпохи в дату. Вот определение date1(){ date -d @$1 } Я хотел бы иметь возможность написать: $ date1 xxxyyy Где xxxyyy - это параметр, который я передаю в свою функцию, чтобы получить соответствующую дату. Я понимаю , что я должен добавить его в …
24 bash  shell  function  profile 

6
Выполнение функции Bash Script с Sudo
У меня есть сценарий, который выполняет множество разных задач, большинство из которых не требует каких-либо особых привилегий. Тем не менее, один конкретный раздел, который я содержал в функции, нуждается в привилегиях суперпользователя. Я не хочу требовать, чтобы весь сценарий выполнялся от имени пользователя root, и я хочу иметь возможность вызывать …
22 bash  sudo  function 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.