В macOS mDNSResponder хулиганить с локальным DNS в ВМ

Я хочу контролировать перекодировки, так что:

  1. Если она нажата и отпущена без других ключей, он действует как Эку.
  2. Если она нажата и удерживается вместе с другим ключом, он действует как клавиши Ctrl (никаких изменений в поведении в данном случае).

Я в курсе как переназначить некоторые клавиши или устройств?, так что я подозреваю, что это может быть сделано с параметр xmodmap. Но этот ответ не объясняет, как клавиши-модификаторы. Я посмотрел на примеры и разделы грамматики параметр xmodmap странице, но они не объясняют, что. Ответ на переназначение клавиш фиксации заглавного регистра управления и убежать (не обычным способом) учтите, что это не возможно, чтобы сделать это на капс лок, так как это ключ замка, но я надеюсь, что это может быть возможным, чтобы сделать это с регулятором которая является мод ключ. Решение с чем-то другим, чем параметр xmodmap также будут приняты. (Я бегу Xmonad в Ubuntu 12.04, так что, возможно, есть способ, чтобы установить это в xmonad.УГ?)

Редактировать: единственное, что я могу сделать это:

параметр xmodmap-E 'в удалить управление = Control_L'
параметр xmodmap-E 'в keysym Control_L = побег
параметр xmodmap-E 'можно добавить контроль = побег

С этим я бежать, когда я нажимаю левый Ctrl ключ один, но чтобы получить, скажем, сочетание клавиш Ctrl+А я должен нажать левый Ctrl клавишу дважды: удерживая Ctrl, нажмите Ctrl+В (а не просто сочетание клавиш CTRL+а) - не знаю, почему мне нужно нажать два раза.

+846
InitK 12 мар. 2021 г., 05:40:09
22 ответов

Да, это должно быть.

Блок без проводки компания будет быть отклонены сети.

Из протокола, Правило № 6:

Первая сделка должна быть компания (т. е. только 1 вход, с хэш=0, если N=-1), остальное не должно быть

+826
Shnappsy 03 февр. '09 в 4:24

В оставшийся Вьетнам паспорт будет разрешить въезд обратно во Вьетнам. Если вы все еще есть действительное гражданство во Вьетнаме

+800
isuna 23 февр. 2023 г., 21:16:45

Во-первых, проверьте совместимость вашего оборудования.

Поддерживаемые устройства | freedesktop.org

Неподдерживаемых устройств | freedesktop.org

Во-вторых, пожалуйста, понять, что регистрация в помощью идентификации по отпечаткам пальцев, АКИК, иногда ненадежный.

обновленного FPrint-не совсем стабильный, и не может работать все время.

На форумах Убунту

В остальной части этот пост был переписан с этого поста на форум Ubuntu.
Я не использовал его лично, но он был самым современным учебник для Ubuntu я смог найти. Вам может понадобиться для отладки gksu.py фантик сценарий

Чтобы настроить ваше устройство:

Установка обновленного FPrint

судо apt-получить установку обновленного FPrint-демо libfprint-Дэв libfprint0 неизвестных обновленного FPrint aes2501-Вайоминг

Далее, зарегистрироваться пальцами либо с помощью терминала или графический пользовательский интерфейс.

Терминал

pam_fprint_enroll

Графический

fprint_demo

Далее настроить pam, так что отпечатков пальцев может быть полезен.

gksu команду Gedit /и т. д./Пэм.д/общие-авт

Добавить это в верхней части файла (сделать это несколько раз для однако многочисленные попытки вы хотите разрешить)

# Только по отпечаткам пальцев 
двиг достаточно pam_fprint.так

Или, используйте эти опции, если вы хотите требовать от отпечатков пальцев и пароль.

# + Пароль отпечатков пальцев 
авторизации требуется pam_fprint.так

Для программ, использующих gksudo/gksu, копию фантик gksu.py ниже в /usr/местные/Бен/gksu добавить фингерпринта поддержка и введите следующий код

судо МВ ./gksu.py /usr/местные/Бен/gksu
судо команду chmod 755 /usr/местные/Бен/gksu
судо apt-получить установку на Python-gnome2-массовка на Python-pexpect

gksu.py


#!/usr/Бен/Python с
# -*- кодирование: UTF-8 -*-
#
# фантик gksu, поддерживая обновленного FPrint - в 0.2
# 
# Авторское право 2008 Thimo Кремер <[email protected]>
# 
# Эта программа является свободным программным обеспечением; вы можете распространять и/или изменять
# в соответствии с условиями Генеральной Общественной лицензии GNU, опубликованной
# Фонд свободного программного обеспечения; либо версии 2 Лицензии, либо
# (по вашему выбору) любой более поздней версии.
# 
# Эта программа распространяется в надежде, что она будет полезной,
# но без любой гарантии; без даже подразумеваемой гарантии
# Товарности или пригодности для определенной цели. Увидеть
# Общие общественную лицензию GNU для получения дополнительной информации.
# 
# Вы должны были получить копию стандартной Общественной лицензии GNU 
# вместе с этой программой; если нет, напишите бесплатного программного обеспечения
# Учредительство, Inc., 51 Франклин-Стрит, Пятый Этаж, Бостон,
# МАССАЧУСЕТС 02110-1301, США.


импорт Сыс, время
импорт подпроцесса, pexpect
импорт ГТК gksu2


gksu_cmd = ['/usr/Бен/gksu']
sudo_cmd = ['/usr/Бен/судо']


# Не обрабатывать запросы прошу пароль или с помощью Су
пропустить = ложь
arg_skip = ['-ш', '--Су-режима', '-п', '--печати-пропуска']
по ARG в sys.агду:
если ARG в arg_skip:
 пропустить = истина
перерыв
если пропустить или LEN(sys файла.параметр argv) == 1:
прок = подпроцесса.К popen(gksu_cmd + Сыс.аргумент argv[1:])
тез.Докл.ждать()
Сыс.выход(0)


# Простое окно сообщения с запросом для отпечатков пальцев
класс Инфобокс(ГТК.MessageDialog):
деф __инит__(самовыдвижение):
ГТК.MessageDialog.__инит__(
самовывоз,
 родитель = нет,
 флаги = ГТК.DIALOG_DESTROY_WITH_PARENT,
 тип = ГТК.MESSAGE_INFO,
 кнопки = ГТК.BUTTONS_NONE,
 message_format = ' отпечатков пальцев просил ')
самовывоз.set_type_hint(ГТК.ГДК.WINDOW_TYPE_HINT_SPLASHSCREEN)
самовывоз.set_position(ГТК.WIN_POS_CENTER)
 самовывоз.set_image(ГТК.image_new_from_stock(ГТК.STOCK_DIALOG_AUTHENTICATION, ГТК.ICON_SIZE_DIALOG))
самовывоз.format_secondary_text(")

деф исчезают(самостоятельно, МСГ=нет):
самовывоз.hide_all()
 если МСГ:
самовывоз.format_secondary_text(МСГ)
самовывоз.show_all()
время.сон(0.1)
 в то время как ГТК.events_pending():
ГТК.main_iteration()

инфобокс = Инфобокс()


# Подготовить контексте gksu 
gksu_context = gksu2.Контекст()
если '-д' в sys.argv или '--отладка' в sys.агду:
печати 'подготовить контексте gksu'
отладки = истина
другое:
отладка = ложь
gksu_context.set_debug(отладка)

если '-Д' в sys.argv или 'описание' в sys.агду:
попробуйте: я = sys файла.агду.индекс('-Д')
кроме ValueError: я = Сыс.агду.индекс ('описание')
gksu_context.set_description(Сыс.агду[я+1])
другое:
gksu_context.set_description(Сыс.агду[-1])

если '-м' в sys.argv или '--сообщение' в sys.агду:
попробуйте: я = sys файла.агду.индекс('-М')
кроме ValueError: я = Сыс.агду.индекс('--сообщение')
gksu_context.set_message(Сыс.агду[я+1])

если '-г' в sys.argv или '--отключить-бери' в sys.агду:
gksu_context.set_grab(ложные)
другое:
gksu_context.set_grab(правда)

если '-П' в sys.argv или '--проворный' в sys.агду:
# Нет метода контекста определена для данного аргумента
пройти

# Создать команду sudo 
если отладки:
печати 'создание команды sudo'
sudo_cmd.функции append('-с')
sudo_cmd.функции append('-п')
sudo_cmd.функции append('GNOME_SUDO_PASS')

если ключ '-U' в sys.argv или '--пользователь' в sys.агду:
попробуйте: я = sys файла.агду.индекс (ключ'-U')
кроме ValueError: я = Сыс.агду.индекс('--пользователь')
sudo_cmd.функции append('-у')
sudo_cmd.добавить(Сыс.агду[я+1])

если нет ('-К' в sys.argv или '--сохранить-ОКР' в sys.агду):
sudo_cmd.функции append ('ч')
sudo_cmd.функции append('--')

sudo_cmd.добавить(Сыс.агду[-1])


# Взаимодействие с sudo
если отладки:
печати выполнить команду sudo:', ' '.присоединиться(sudo_cmd)
судо = pexpect.Спаун(sudo_cmd[0], sudo_cmd[1:])
во время суда.потока isalive():
ответ = судо.ожидать([
pexpect.ВФ,
pexpect.Тайм-аут,
 'Сканирование .*',
'GNOME_SUDO_PASS',
'.+',
])

# ВФ, ТАЙМ-АУТ
если ответ <= 1:
далее

если отладки:
 печать '[суда] ', судо.после.полосы()

# Скрыть инфобокс
инфобокс.исчезать()

# Задать для отпечатков пальцев
если ответ == 2:
 МСГ = судо.после.полосы()
инфобокс.исчезать(МСГ)
# Запрашивать пароль
Элиф ответ == 3:
попробуйте:
 ПВ = gksu2.ask_password_full(gksu_context, 'пароль: ')
за исключением:
 ПВ = "
судо.sendline(ПВ)


инфобокс.уничтожить()
+794
Tim Ojo 13 апр. 2018 г., 09:45:01

Как мы выехали на чат, файл не был (как предполагалось изначально) некоторых сжатый XML в любом известном формате-так там, кажется, нет простой способ, чтобы прочитать содержимое этого файла. Которые оставляет вам несколько вариантов:

  1. перепрошить стоковое изображение на устройство, импортировать резервную копию, а затем использовать хороший резервного копирования приложение, как резервное копирование и восстановление SMS для резервного копирования SMS. После этого, флэш обратно ваш текущий диск и импортировать с того же приложения.
    Это должно работать всегда (и в ОП), но означает немного усилий, как нужно прошить устройство, по крайней мере, два раза (в запас, и до нынешних). Перед этим, сделайте резервную копию, если вы уже ставили некоторые настройки/конфигурации работать на вашего текущего ROM.
  2. Похожие: используйте Андроид эмулятор (один из СДК, или банку бобов), нагрузка та же версия Android у вас было на устройстве до этого, импорт резервное копирование, и использование одного из упомянутых приложений, чтобы экспортировать его из эмулятора, а также импортировать его в вашем устройстве.
    Примечание: это может работать только для "простых Андроид", как эмулятор скорее всего не поддержка конкретного устройства (или обор-конкретных) вещей. Если нет вокруг вспомогательные устройства-конкретные образы, конечно эмулятор. В ОП случае это вообще не работа, а приложение в вопрос был связан с HTC по смыслу вещи.

К сожалению, нам не удалось определить формат файла. Для полноты картины, одна вещь, которую мы пробовали:

Если полный помощью Nandroid резервного копирования доступна, СМС база данных может быть найден в /данные/данные/com.андроид.поставщики.Телефония/базы данных/mmssms.дБ и исследовали с помощью любого файл SQLite фронтэнда (рекомендации для графических: sqliteman выступает). К сожалению, в данном случае база данных была пуста из-за протереть происходящие при разблокировке устройства.

+792
hteMAXIM 27 мар. 2014 г., 21:11:51

Я хотел бы сделать кругосветное путешествие на экономику Катара дыхательных путей между Монреаль (Yul) и Кольката (CCU). Сейчас это мне будет стоить 85000 миль.

Какой самый дешевый способ приобрести эти мили не летают на Катар/один мировых авиакомпаний в течение года. Есть ли кредитная карта зарегистрируйтесь бонусы или что-то еще, что я могу использовать, чтобы заработать эти 85000 очков.

+754
Infernion 8 мар. 2022 г., 09:30:40

Мне нужна возможность блокировки моего Макбука по моей команде. Я не хочу заставку или замок спит. Тебе не надоедает постоянно вводить пароль в течение всего дня? Я не хочу ждать моего компьютера, чтобы замыкаться в 10 минут или 1 минуту когда заставка или сна начинается. Я не хочу сохранить и закрыть все приложения и документы и выйти.

Так что просто позвольте мне закрепить мой компьютер, простой запрос. Нажмите горячую клавишу? Закрыть крышку?

Я выхожу из моей двери, я запер дверь. Я выйти из моего автомобиля, я запер мою машину. Почему я не могу просто заблокировать мой компьютер?

Мне сказали, Вы не можете перенастроить этот тип установки в ОС Х, это правда?

+655
Alan Viana 31 дек. 2021 г., 14:07:06

сенсорный есть регулировка Параметр (), но это, к сожалению, ограничено до 99 часов, 99 минут и 99 секунд. Но повторные обращения вы можете получить то, что вы хотите:

в bash:

# предполагается, что в году 365 дней
в течение дня в {1..365}; делать 
 сенсорный папку 240000/* 
сделано

# на Mac с установленным Xcode для инструментов командной строки, 
# установить время создания время изменения:
для F в папку/* ; у
 SetFile -д "$(GetFileInfo -м $ф)" $ф
сделано
+543
M Hattick 19 июл. 2013 г., 10:41:05

Отличное приложение для быстрого доступа улыбка программного обеспечения TextExpander касания. Из-за ограничения в iOS, он не работает, чтобы расширить ярлыки на любое приложение (в том числе, к сожалению, всех приложений компании Apple). От производителя сайт:

С учетом текущего набора функций ОС iPhone, TextExpander Touch не может работа в фоновом режиме (как это делает в Мак ОС Х), расширение фрагменты текста пока вы работаете в других приложениях, за исключением для приложений с TextExpander-интеграция встроенный. Необходимо сначала составить свой текст в TextExpander касания сочинять экране, а затем перенести его на другое приложение.

+512
broesel 16 янв. 2024 г., 14:06:23

Ubuntu основана на Debian, но включает в себя вещи Debian не (и, в свою очередь, часто включены в Debian позже). В адд-apt-репозиторий команда является примером, который был включен в Ubuntu впервые.

В адд-apt-репозиторий на самом деле просто выполняет две команды для добавления репозитория:

  • добавление репозитория в файл/etc/АПТ/источников.список
  • добавить ключ репозитория в машину.

Сценарий, который вроде делает то же самое, что можно найти здесь цитируется ниже

#!/бин/Баш
если [ $# -экв 1 ]
Нм=$(команде uname -a и дата)
Имя=$(Эхо $Нм | программы md5sum | вырезать -Ф1 -д" ")
тогда
 ppa_name=$(Эхо "$1" | вырезать -д":" -Ф2 -с)
 если [ -з "$ppa_name" ]
тогда
 Эхо "ППА имя не найдено"
 Эхо "утилита для добавления репозиториев PPA в вашей машине Debian"
 Эхо "$0 ППА:пользователь/ППА-имя"
еще
 Эхо "$ppa_name"
 Эхо "деб http://ppa.launchpad.net/$ppa_name/Убунту люсид главная" > > в /etc/АПТ/источников.список
 apt-получить обновление >> /dev/нуль 2> в /tmp/${имя}_apt_add_key.txt
 ключ=$(кат в /tmp/${имя}_apt_add_key.txt | вырезать -д":" -Ф6 | вырезать -д" " -Ф3)
 АПТ-ключ АДВ --сервер keyserver.ubuntu.com --приема-ключей Key $
 РМ -РФ в /tmp/${имя}_apt_add_key.txt
интернет
еще
 Эхо "утилита для добавления репозиториев PPA в вашей машине Debian"
 Эхо "$0 ППА:пользователь/ППА-имя"
интернет
+413
user2077648 2 мар. 2022 г., 09:14:10

В то время как некоторые старые версии iTunes может быть сделано, чтобы работать с вином (или Кроссовер), они не могут быть использованы для обновления или синхронизации новые айподы

Причина в том, что вино не хватает обработчика для Windows драйверы USB устройств и iPod выступает в качестве пользовательского устройства USB. Это та же причина, что программное обеспечение, которое требует специального аппаратного ключа также нет (пока) работать в вино. Есть некоторые предварительные патчи для этого, и вы можете прочитать больше истории на вино Вики, однако не ждите ничего, чтобы работать.

Единственные плееры, которые в настоящее время работают в вино очень старые плееры, которые действуют как простые USB-накопители. И даже тогда вы все еще должны найти старый, работая в iTunes.

Из-за этой проблемы в вине, делать обновление прошивки вам потребуется либо настройка виртуальной машины с помощью VirtualBox или VMware или, возможно, более просто, брать чужой компьютер.

+402
Njoi 16 янв. 2018 г., 11:29:38

Привет мой Huawei Р7 подключается к Wi-Fi, но не открыть любой сайт в любом браузере! Я также не могу проверить свою почту и любое другое приложение не может подключиться к интернету. Я вот тоже все хорошо!!!

+394
Calum Tully 4 апр. 2017 г., 10:58:39

Есть ли способ, чтобы изменить установленную версию помощью AppleScript?

После того, как ошибочно определив мою версию помощью AppleScript как 1.0 с помощью 15-летнего скрипт (получается, что просто проверяет версию скрипта вы находитесь, который неявно 1.0) и пытаюсь выяснить, как обновить, мне было интересно, как/если это возможно, чтобы изменить установленную версию помощью AppleScript?

+236
efredin 28 мая 2011 г., 14:24:18

Тандерболт монитор включает в себя ряд встроенных периферийных устройств, а также в качестве монитора:

  • Тремя портами USB 2.0
  • Порт FireWire 800
  • Гигабитный порт Ethernet
  • Порт Thunderbolt

Фактический разъем MiniDisplayPort и Thunderbolt-это то же самое, но молния может пройти много протоколов за тот же кабель, а не просто/V сигналов.

+209
kristof2014 20 июн. 2014 г., 13:26:16

Это предположительно ограничение приложения терминала. Для сравнения, вкладки копировать нормально с моей (терминала Linux). Возможно, вы могли бы попробовать другой эмулятор? (Я слышал хорошие вещи о iTerm2.)

Кроме того, вы можете напрямую трубу в буфер обмена. Я считаю, что команда на OS X-это pbcopy. т. е.

напечатать "123\tbeetle\Т12.4\п200части\tbutterfly\Т1.2\п" | pbcopy
+172
Onam Portal 22 июн. 2020 г., 22:00:15

Я не знаю, если Самба предустановлен в систему Linux.

У меня в/etc/Самба/ каталог с СМБ.конф файл. Но если я попробую одну из этих команд

судо запустить службу СМБ 
судо запустить службу самбы 
судо запустить службу с smbd 

ответ всегда непризнанной службы.

В файле/etc/инит.д нет никакого файла, как СМБ, самбу или с smbd. Как я могу проверить?

В любом случае спасибо!

+161
user2066109 19 апр. 2020 г., 03:49:42

Имена библиотечных пакетов в Ubuntu включают основную версию Аби. Некоторые примеры пакетов libc6, libkrb5 и libqt4. Поэтому в Qt 5.0 библиотеки будут libqt5-*. Называя их libqt4-* было бы неправильно , поскольку они не имеют обратной совместимости и пакеты в зависимости от того, на Qt 4.х вдруг перестать работать, если Убунту будет делать этого. Именования пакетов libqt5-* (и забота о возможных именем столкновения) могут быть установлены одновременно, так что вы можете запустить в Qt 4.X и Qt 5.х приложений на одном компьютере.

+159
StessenJ 6 дек. 2019 г., 09:10:41

Так что вы хотите извлечь некоторые данные из первой строки и последней строки? Просто использовать одну команду для каждого, печать двух строк в первый раз.

СЕПГ -н -е '1С/^\(.*\)-\(.*\)\.тхт$/\1\
\2/р' -е '$ы/^\(.*\)-\(.*\)\.тхт$/\2/р'

Вы можете найти awk и понятнее, если wordier.

на awk -е- '{gsub(/\.[^.]*$/,"");
ДТ=$2}
 Компания NR==1 {печать 1$; печать $2}
 Конец {печать ДТ}'

Или Perl.

на Perl -л -не ы/\.[^.]*$//;
 /^(.*)-(.*)$/ или рядом;
 печать $1, Если $.==1;
 печать $2 при $.==1 || ВФ'
+154
Bitcoin002 1 сент. 2013 г., 21:41:05

Кстати я делал это, когда настройка Ubuntu устанавливает это разместить скрипт (здесь называется установщик-поздно-команда) в корень компакт-диска, и организовать его в целевой среде. Я ожидаю, что этот подход, или что-то подобное будет работать как обычный Дебиан. Я использую эту строку в мой исходный файл:

д-Я с ответами/late_command строка CP /cdrom/и установщик-поздно-команда /целевой/ТММ; в целевой каталог /tmp/установки-поздно-команда

(в-целевой сценарий, который на компакт-диске, который chroot-окружений в мишень для запуска программ)

Мой скрипт не интерактивные; я понятия не имею, будет ли это работать на что-то. Кроме того, я использую текстовый установщик консоли, не графический, если, что делает разницу.

Конечно, для интерактивной работы, просто переход на другой виртуальный терминал должен быть достаточным. Я думаю, что вы обеспечены с трех (и можете просматривать журналы на четвертом).

+147
BillDarcy 10 мар. 2023 г., 12:24:12

Расширить на @Жиля ответ:

Действительно, комплект -е не работает внутри команды, если вы используете || оператора после них, даже если запустить их в оболочку, например, это не будет работать:

#!/Бен/ш

# печатает:
#
# --> внешний
# --> внутренний
# ./so_1.sh: строка 16: some_failed_command: команда не найдена
# <-- внутренняя
# <-- внешний

комплект -е

внешний() {
 Эхо '--> внешняя'
 (внутренний) || {
exit_code=$?
 Эхо '--> Толока'
 возврат $exit_code
}
 Эхо '<-- внешняя'
}

внутренний() {
 комплект -е
 Эхо '--> внутренний'
some_failed_command
 Эхо '<-- внутренняя'
}

внешний

Но || оператор необходим для предотвращения возвращения из внешней функции до очистки.

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

#!/Бен/ш

# печатает:
#
# --> внешний
# --> внутренний
# ./so_2.sh: строка 27: some_failed_command: команда не найдена
# --> очистка

комплект -е

внешний() {
 Эхо '--> внешняя'
 внутренний &
 подожди $! || {
exit_code=$?
 Эхо '--> Толока'
 возврат $exit_code
}
 Эхо '<-- внешняя'
}

внутренний() {
 комплект -е
 Эхо '--> внутренний'
some_failed_command
 Эхо '<-- внутренняя'
}

внешний

Вот это общая функция, которая основывается на этой идее. Он должен работать во всех POSIX-совместимое снарядов, если вы удалите местным запросам, т. е. заменить все местные Х=Y с Х=Y:

# [Толоки=cleanup_cmd] запустите cmd [аргументы...]
#
# `cmd` и `параметры...` команду для запуска и его аргументы.
#
команда # `cleanup_cmd`, который вызывается после УМК завершился,
# и передается теми же аргументами, что и Cmd. Кроме того, 
# следующие переменные среды доступны для этой команды:
#
# - `RUN_CMD` содержит команду "cmd", который был принят на "запустить";
# - `RUN_EXIT_CODE` содержит код выхода из команды.
#
# Если `cleanup_cmd` установлено, "выполнить" вернет код завершения, что
команда#. В противном случае, он будет возвращать код выхода "ЦМД".
#
запустить() {
 местную команду cmd="$1"; сдвиг
 местные exit_code=0

 местные e_was_set=1; Если ! is_shell_attribute_set е; тогда
 комплект -е
e_was_set=0
интернет

 "$УМК" "$@" &

 подожди $! || {
exit_code=$?
}

 если [ "$e_was_set" = 0 ] && is_shell_attribute_set е; тогда
 набор +е
интернет

 если [ -н "$Толока" ]; затем
 RUN_CMD="$УМК" RUN_EXIT_CODE="$exit_code" "$Толока" "$@"
 вернуть $?
интернет

 возврат $exit_code
}


is_shell_attribute_set() { # атрибут, как "Х"
 дело "$-" в
 *"1$"*) возвращает 0 ;;
 *) вернуться 1 ;;
эсок
}

Пример использования:

#!/Бен/ш
комплект -е

# Исходный файл с определением "выполнить" (в предыдущем фрагменте кода).
# Кроме того, вы можете вставить этот код прямо здесь и комментировать следующей строке.
. ./utils.sh


основной() {
 Эхо "--> главная: $@"
 Очистка=очистки внутреннее "$@"
 Эхо "<-- главные"
}


внутренний() {
 Эхо "--> внутренний: $@"
 спать 0.5; если [ "$1" = 'ошибка' ]; тогда
oh_my_god_look_at_this
интернет
 Эхо "<-- внутренний"
}


очистка() {
 Эхо "--> очистка: $@"
 Эхо " RUN_CMD = '$RUN_CMD'"
 Эхо "RUN_EXIT_CODE = $RUN_EXIT_CODE"
 сон 0.3
 Эхо '<-- Толока'
 возврат $RUN_EXIT_CODE
}

главная "$@"

Запуск примера:

$ ./so_3 потерпеть неудачу; Эхо "код на выходе: $?"

--> главный: не
--> внутренний: не
./so_3: строка 15: oh_my_god_look_at_this: команда не найдена
--> очистка: не
 Внутренний RUN_CMD =''
 RUN_EXIT_CODE = 127
<-- очистка
код выхода: 127

$ ./so_3 пройти; Эхо "выход код: $?"

--> главная: пасс
--> внутренний: пасс
<-- внутренняя
--> очистка: пройти
 Внутренний RUN_CMD =''
 RUN_EXIT_CODE = 0
<-- очистка
<-- главная
код завершения: 0

Единственное, что вы должны знать при использовании этого метода заключается в том, что все модификации оболочки переменные выполнена из команды следует передать для выполнения не распространяются на вызов функции, потому что команда работает в подоболочку.

+108
Alichen 6 авг. 2012 г., 16:35:56

Сутта MN38: Mahatanhasankhaya Сутта может быть полезным:

"Подобно тому, как огонь классифицируется просто все, что необходимое условие в зависимость от чего он горит — огонь, который горит в зависимости от древесины классифицируется просто как Дерево-Огонь, Огонь, который горит в зависимости от щепы классифицируется как древесно-стружечные-огонь; огонь, который горит в зависимости от травы классифицируется просто как трава-огонь; огонь, который горит в зависимость от коровьего навоза классифицируется просто как корова-навоз-огонь; огонь, который горит в зависимость от плевел классифицируется просто как мякина-огонь; огонь, который горит в зависимости от мусор классифицируется просто как мусор-огонь — точно так же, сознание классифицируется просто необходимое условие, в зависимость от которых он возникает. Сознания, который возникает в зависимости от глаза и форм классифицируется просто как сознание глаза. Сознания, который возникает в зависимости от уха и звуки классифицируется просто как сознание уха. Сознания, который возникает в зависимости от носа и ароматов, классифицируется просто как нос-сознания. Сознания, который возникает в зависимости от языка и ароматизаторы классифицируется просто как язык-сознание. Сознания, который возникает в зависимости от тела и тактильных ощущений классифицируется просто как тело-сознание. Сознания, который возникает в зависимости от интеллекта и идеи классифицируются просто как интеллект-сознание.

+61
Jon Skarpeteig 7 февр. 2018 г., 12:15:39

На самом деле я недавно узнал, что даже Тхо на iOS файловой системой (iPhone и iPad) с учетом регистра, хранение iCloud не.

Так что, если вы непосредственно можете хранить на вашем устройстве iOS, и не "хит" хранилища iCloud вы, наверное, смогли бы создать файл(имя).

+49
Phil Hollenback 24 сент. 2023 г., 04:51:52

Я не думаю, что вы сможете получить "да" или "нет" ответ на ваш вопрос. Лучшее, что мы можем сделать, это указать на то, что мы считаем здоровым или нездоровым о biltong.

Хорошо: жира и белка, что вы можете на самом деле держать вниз.

Плохо: так много соли. Если вы чувствительны к натрию, это может повысить ваше кровяное давление и оказывает другие побочные эффекты.

+39
mathguy 3 апр. 2022 г., 09:52:44

Показать вопросы с тегом