Запитання з тегом «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успішні, і я не бачу різниці. Тож мені цікаво, чи просто для поліпшення читабельності чи щось мені не вистачає …
96 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". Чи можу я також "експортувати" …
80 bash  function 

12
Навіщо писати весь сценарій 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: Код виходу повернувся з двійкового виконуваного файлу (наприклад, програма C). Код виходу повернувся із сценарію bash (під час дзвінка exit). Код виходу повернувся з функції (під час дзвінка return). Я думаю, що це між 0і 255.

8
Проведення математики в командному рядку за допомогою функцій bash: $ 1, розділене на $ 2 (можливо, використовуючи bc)
Іноді мені потрібно розділити одне число на інше. Було б чудово, якби я міг просто визначити для цього функцію bash. Поки що я змушений використовувати вирази типу echo 'scale=25;65320/670' | bc але було б чудово, якби я міг визначити функцію .bashrc, яка виглядала так divide () { bc -d $1 …

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

3
Чи виконуються функції як підпроцеси в Bash?
У Посібнику з розширеного сценарію Bash , наприклад 27-4 , 7-й рядок знизу, я прочитав це: Функція працює як підпроцес. Я робив тест у Баша, і, схоже, вищезазначене твердження є неправильним. Пошуки на цьому сайті, Bash Man та моя пошукова система не приносять жодного світла. Ви маєте відповідь і хотіли …
28 bash  process  function 

4
Чому мені потрібно використовувати CD "$ @" замість CD "$ 1" під час написання обгортки для CD?
В іншому місці я бачив 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 - параметр, я передаю свою функцію, щоб отримати відповідну дату. Я розумію , що я повинен додати його в будь-якому .bash_profile, .profileабо .bashrcі …
24 bash  shell  function  profile 

6
Виконання функції сценарію Баша із судо
У мене є сценарій, який робить багато різних речей, більшість з яких не потребує особливих привілеїв. Однак для одного конкретного розділу, який я містив у собі функції, потрібні кореневі привілеї. Я не хочу вимагати, щоб весь скрипт запускався як корінь, і я хочу мати можливість викликати цю функцію з привілеями …
22 bash  sudo  function 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.