Оболочка: почему [ -н "${ВАР-}" ] вместо [ -Н "переменной$var" ]?
Есть какой-то переменной окружения?
Да. Это термин
переменной окружения. Это потому, что есть несколько вещей, которые используются как часть процесса принятия решения.
Это трудно обобщить, потому что не все программы согласны на единую блок-схему решения. На самом деле в GNU grep в
, упомянутых в М. Китта ответа, является хорошим примером особняком, который использует несколько необычное решение процесс с неожиданными результатами. В очень общих чертах, поэтому:
- В стандартный вывод должны быть терминальное устройство, как определено
Изетты()
. - Программа должна уметь искать записи для типа терминала в базу данных termcap/, используя базу.
- Поэтому там должен быть тип терминала, чтобы посмотреть вверх. В
перспективе
переменной среды должна существовать и его значение должно соответствовать записи базы данных. - Поэтому там должны быть базу данных terminfo/терминала. На некоторых реализаций подсистемы, расположение терминала базы данных может быть определено с помощью
терминала
переменной среды. Поэтому в некоторых реализациях есть второй переменной окружения. - С терминала/записи, используя базу должно быть указано, что тип терминал поддерживает цвета. Есть
max_colors
поле, используя базу. Это не набор для типов терминалов, которые на самом деле не имеют цветовой возможности. Действительно, есть, используя базу конвенции, что каждый благовидный тип терминала есть еще одна запись с-м
или-моно
, добавленным к имени, что государства без цвет возможности. - В библиотеки termcap/записи, используя базу должны обеспечить путь для программы смены цвета. Есть
set_a_foreground
иset_a_background
поля, используя базу.
Это немного сложнее, чем просто проверка Изетты()
. Это сделано дополнительно осложняется несколькими вещами:
- Некоторые приложения добавить параметры командной строки или флаги конфигурации, которые переопределяют
Изетты()
проверить, так что программа всегда или никогда не предполагает, что он имеет ("губа") терминала в качестве своей продукции. Примеры:- ГНУ
ЛС
имеет... цветовая
параметр командной строки. - БСД
Общ
смотрит наCLICOLOR
(ее отсутствие означает никогда) иCLICOLOR_FORCE
(его наличие означает всегда) переменные окружения, а также спортивные-г
параметр командной строки.
- ГНУ
- Некоторые приложения не использовать библиотеки termcap/terminfo и заставляет ответы на значение
термина
. - Не все терминалы используют в ECMA-48 или ISO 8613-6 СГР последовательности, которые немного неправильно названа "управляющие последовательности ANSI", для изменения цвета. В предусмотренные механизм/используя базу фактически предназначенной для изоляции приложений от прямого знания точных управляющих последовательностей. (Кроме того, есть еще аргумент был, что никто не использует ISO 8613-6 СГР последовательности, потому что все согласны на ошибках использования запятой в качестве разделителя для RGB цвет СГР последовательности. Стандарт фактически определяет двоеточие.)
Как уже упоминалось, в GNU grep в
самом деле проявляет некоторые из этих дополнительных сложностей. Не советуйте библиотеки termcap/используя базу, передает в управляющие последовательности для излучения, и передает ответ на термин
переменной окружения.
В ОС Linux/Unix-порт это код, который позволяет цветом только тогда, когда термин
переменная среды существует и его значение не соответствует зашито название стремное
:
инт should_colorize (пустота) { const чарса *Т = функции getenv ("срок"); возвращает t && strcmp стандарта (Т, "немой") != 0; }
Так что даже если ваш срок
- это в xterm-моно
, ГНУ грэп
решит испустить цветов, хотя другие программы, такие как ВИМ
не будет.
На с Win32 порт это код, который позволяет цветом либо когда термин
переменная среды не существует или когда оно существует и его значение не соответствует зашито название стремное
:
инт should_colorize (пустота) { const чарса *Т = функции getenv ("срок"); возвращение ! (Т && strcmp стандарта (Т, "немой") == 0); }
ГНУ команда grep
'ы проблемы с цветом
ГНУ грэп
с цветом на самом деле печально. Потому что это на самом деле не сделает надлежащую работу по строительству выходной терминал, а просто blams в несколько проводных управляющих последовательностей в различных точках своего выхода в тщетной надежде, что это достаточно хорошо, это на самом деле неверно отображает выход в определенных обстоятельствах.
Указанные обстоятельства, где он должен раскрасить что-то, что находится на правой стороны терминала. Программы, которые делают правильно выход терминала на счет для автоматического правого поля. В дополнение к небольшая вероятность, что терминал может не иметь их (а именно в auto_right_margin
поле, используя базу), поведение терминалы, которые не имеют автоматического права поля, часто повторяет декабря вт прецедент до линии запаха. В GNU grep в
не учесть, наивно ожидая немедленного линии обруча, и цветной выход пойдет не так.
Цветной выход не простая вещь.
Дальнейшее чтение
- Томас Э. Дики (2016). "
грэп-цвет
не показать правильный выход". в xterm чаво. Невидимый Остров. - Джонатан де Бойн Поллард (2016). Курсив и цвета в ручном страниц на нош пользователей-пространстве виртуального терминала. Пакет нош.
Он останавливается из-за данной причины: он пытается выход на телетайп. Можно попробовать перенаправить вывод если ./command.sh
поддерживает это, или выполнить команду в tmux
или экран
окна собственного. Е. Г.
новые окна -Н tmux "имя окна" ./command.sh
а потом просмотреть список Windows, созданные с tmux список-окон
и прикрепляются к tmux
с tmux прикрепить
.
Таким образом программа по-прежнему будет ждать ввода/вывода, чтобы это произошло, но вы легко можете внести вклад в соответствующее окно и выход будет захвачен без какой-либо деятельностью.
У меня в холодильнике 6 десятков свежеиспеченное шоколадное печенье на ночь, потом обнаружили, что печенье не должно быть refrigerated. Они сейчас при комнатной температуре, но на мой вопрос, Будут ли они восстанавливаться?
Я пробовал следующие команды и был настроен скептически, будет ли он работать. Но она была безупречна и решил мои проблемы с моей беспроводной на MacBook 2.1.
корень@в Ubuntu:~# ifconfig, которые как wlan0 вниз
корень@в Ubuntu:~# rmmod -F в ath9k
корень@в Ubuntu:~# судо команды modprobe ath9k nohwcrypt=1
Предупреждение: все конфигурационные файлы .конф: в/etc/команды modprobe.д/bad_list
. Он будет игнорироваться в будущем.
корень@в Ubuntu:~# ifconfig, которые как wlan0 вверх
Вы были близки, он находится в
в /etc/php в/конф.д/
Вы можете использовать САР(sysstat) для мониторинга вашей системы и проверить нагрузку с течением времени. Журналы РСА создает файл, который можно открыть с помощью команды ксар. Кроме того, из ксар-вы можете запускать команды САР через SSH и создать журналы на лету.
У вас есть что-то конкретное работает на сервере? Как JVM или какое-то другое приложение? Например для JVM, вы можете использовать jconsole, чтобы проверить, если сборка мусора влияет на производительность сервера.
В случае, если есть JVM, работающей на сервере:
За помощью jconsole, я рекомендую не работает на сервере, так как это может быть довольно трудно время от времени в системе. Запустить его на удаленной системе и настроить jmxremote на сервере для подключения.
Также, какие проблемы, с которыми сталкиваются пользователи?
Сделано это в ответ, так как я не могу комментировать пока.
Вот пара сайтов, где они обсуждают "домашней смеси специй".
Мое предложение состоит в том, чтобы взглянуть на них, и Google еще несколько, чтобы найти различные смеси, которые включают то, что вы есть.
Вы, наверное, не найдете ни одного, который точно совпадает, так что используйте их, вместо того, чтобы выяснить отношения вы хотите. Используйте соль, которая будет в каждом из них, в качестве базовой единицы измерения. Вижу, что ваше соотношение других ингредиентов по сравнению с солью в качестве основы для выяснить свои отношения.
Велнес-Мама: Домашние Трав И Специй Смеси Рецепты
Блог Chefworks: Сделать Свой Собственный Приправочные Смеси
У меня на Python-сервер, который я запускаю из терминала. Этот конкретный экземпляр терминал затем передает управление программе, и программа использует его как своего рода окно входа, пока ее закрыли. Это нормально, или я должен как-то попытаться запустить программу каким-то другим способом, в котором он будет отображаться просто как активный процесс? Если я закрываю терминал, с которого я начал программу, программа умирает вместе с ним.
Спасибо
У меня в горшке кустик розмарина, купленные в текущем горшок чуть больше года назад. Это хорошо по сравнению с прошлым летом и прошлой зимой, производить новый рост после того, как подрезали для использования на кухне. Как погода перешла от прохладного (зона 10а Сан-Франциско) в горячее летнее время в 80-е годы мне не удалось активизировать свой график полива адекватно (сейчас полив 1-2 раза в неделю по мере необходимости за последние пару недель). В настоящее время я предполагаю, что недостаток воды является причиной довольно плохом состоянии растения, но могут быть и другие факторы.
Другие замечания:
- Я не имею возможности посадить его в землю
- Я его подкармливаю каждые 3 месяца или так с окроплением 4-6-3
- Я периодически опрыскивать кластеров комнатных растений с масляным раствором Нима, чтобы отбиваться от белых мух, я отметил отсутствие других вредителей, присутствующих в это время
- Он находится в защищенном месте и получает достаточно в середине дня до обеда солнце
Мое мышление заключается в том, что я мог подрезать его сильно назад, чтобы побудить нового здорового роста и что при надлежащем поливе, я могу получить его, чтобы сделать восстановление. Я на правильном пути?
За последние несколько лет я совершенствую свой Жареный куриный рецепт, начиная с Артур Шварц' с чесноком и перцем натирали жареная курица рецепт.
Основной подход теперь я использую включает в себя перенос курицы, в панировке из смеси специй и масла, на чугунной сковороде, предварительно нагретую в печи до 450о'Ф (230ОС).
У меня вопрос по поводу масла, и какие типы будут уместны.
То, что я ищу-это масло со следующими характеристиками:
- Свет, нейтральную или без аромата
- Высокий пункт дыма
- Низкий уровень или отсутствие омега-6 жирных кислот (что исключает арахисового, соевого, кукурузного и подсолнечного масел)
- Кроме того, мне интересно, если при выборе масла следует руководствоваться тем, что я использую чугунную кастрюлю?
Я посмотрел на этот список растительное масло дыма очки, и, кажется, остальные варианты:
- Сафлоровое масло
- Кунжутное масло
- Жмыховое оливковое масло
- Дополнительный свет оливковое масло
- Виноградное масло
- Масло авокадо
Как я могу решить, какое из этих масел будет лучше?
Я использую скриншоты Все время (незадолго до 4 класса). Но вдруг, я пойду, чтобы сделать снимок экрана и ярлык не работает. Я иду в Системные настройки > Клавиатура и вижу, что все снято ярлыки сняты. Я проверила ярлыки, но потом через несколько секунд, они будут бесконтрольно. Я нажмите кнопку Восстановить значения по умолчанию, чтобы их включить, но они по-прежнему отключение через несколько секунд.
Кто-нибудь еще было такое? Что может быть причиной этого?
Даже если я хочу сделать снимок экрана во время этого, у меня нет достаточно времени, установив флажок нажать на ярлык до того, как ее отступить.
Спасибо заранее всем, кто предлагает помощь.
Ок, я, наконец, получил Свифт книга 2.0.
Если я нажал на ссылку, что @IronCraftMan написал выше, это откроет моя копия Свифт 1.2 версии. Мне пришлось удалить версию и заново скачать его, а затем, наконец, я вижу новую версию. Однако, обложка ничего не говорит о Swift 2, хотя связь с IronCraftMan показана крышка, которая говорит "Свифт 2.0 издание".
Какую путаницу и беспорядок.
Мой вопрос заключается в том, что если у меня есть два файла, предположим :
file_1.gz и file_2.gz
тогда я могу сжать эти файлы в другой сжатый файл бывших file_1+2.ГЗ (просто имя.)
Загвоздка в том, что я не хочу, чтобы это быть распакованы во-первых, прямое соеденение содержимое в один файл.
Каких взглядов?
Я постараюсь быть конкретным и ясным.
У меня есть файл: log.txt
он содержит несколько строк, которые я ищу, чтобы распечатать и рассчитывать каждый из них.
Это моя команда, только печатать столбцы совпадений в log.txt
файл:
СЭД -п '1П' log.txt | у awk '{ ы = ""; для(Я = 25; я <= НФ; я++) ы = ы $я "\п"; печати с}'
Объяснение
СЭД -п '1П' //печатает в первой строке
на awk '{ ы = ""; для(Я = 25; я <= НФ; я++) ы = ы $я "\п"; печати с}' //выводит следующие столбцы из числа 25 колонки
Вход:
Column25 Column26 Column27 ColumnN <--#первый фильтр:мне нужно получить конкретные заголовки. ColumnN
Column25 Column27 ColumnN
Column26 Column27 <--#подсчитать, сколько раз это повторять каждую строку в файл
Выход:
Column25
Column26
Column27
Column28
Column29
ColumnN
Я пытаюсь сделать:
Из предыдущего вывода я хочу сосчитать все совпадения в один и тот же файл файл.журнала
, но в ту же команду:
СЭД -п '1П' log.txt | у awk '{ ы = ""; для(Я = 25; я <= НФ; я++) ы = ы $я "\п"; печати с}'
и отправить снова в выходной, как:
Желаемый Результат:
Column25 - N раз
Column26 - N раз
Column27 - N раз
Column28 - N раз
Column29 - N раз
ColumnN - N раз
ПС. Я думал использовать одну и ту же переменную "$ы"
в цикле for, чтобы начать поиск, но не работает.
Я использую Ubuntu на Acer нетбук, и АЛТ+ф8 или правой кнопкой мыши в строке заголовка не работают для меня. У меня не было третьей кнопки мыши, но смогла сдвинуть окно с помощью клавиш Alt+ двойное нажатие на моей сенсорной панели.
в openSUSE может обеспечить то, что вы ищете, благодаря системе построения, используемые для сборки пакетов.
Основные релизы доступные по расписанию, и у меня не часто были проблемы прыжки несколько изменений впереди.
Однако, пакеты строятся позволит вам иметь передовые пакеты на определенные темы, который, кажется, то, что вы ищете, не беспокоясь слишком много о несовместимости с конкретной версией. По каждой теме есть проект "девел", где реальное развитие осуществляется. Фабрика, которая всегда представляет следующий крупный релиз, это по сути совокупность проектов развития. Однако, пакеты в каждый проект также автоматически против всех версий, которые до сих пор в техническому обслуживанию, и упаковщиков заботимся много для обеспечения совместимости со старыми релизами, в соответствии с рекомендациями по упаковке.
Так что если вы хотите сохранить ССЗ до даты с последними пакетами специально построены для openSUSE 11.4, вы можете добавить в Devel:/ССЗ/openSUSE_11.4/ репозитория. Это устраняет зависимость ад вы можете в конечном итоге с тем, если вы просто схватил пакеты сидящих на заводе, так как это может быть, например, более новой версией glibc.
Аналогично, вы можете добавить Ява:/база/openSUSE_11.4/ и Java:/openjdk6:/фабрики/openSUSE_11.4 для последняя версия Java вещи, и сети:/хром/openSUSE_11.4/ чтобы отслеживать последние хрома.
Кроме того, вы можете получить счет и сохранить свои собственные версии пакетов, и пусть сервер сборки ручки работа дом их от нескольких версий/архитектур. (Вы также можете строить против многих конкурирующих дистрибутивов, так же)
Вы можете просмотреть репозиториях прямо здесь , и вы можете искать пакеты здесь.
Будем надеяться, что обеспечит то, что вы ищете.
Объяснение немного раздражает: сама bash является причиной. трассированием
наш друг (должен быть SUID себя для этой работы):
getuid() = 1000
getgid() = 1001
geteuid() = 0
getegid() = 1001
с setuid(1000) = 0
описание GNU(1001) = 0
Баш обнаруживает, что он был запущен бит SUID (ЮИД!=Euid), и использует его корень питания, чтобы скинуть эту власть прочь, перезагрузка euid так, чтобы жидкость. И позже, даже FSUID, просто чтобы быть уверенным...:
getuid() = 1000
в setfsuid(1000) = 1000
getgid() = 1001
вызов setfsgid(1001) = 1001
В итоге: никаких шансов. Вы должны начать колотить с uid корень (т. е. суда).
Редактирование 1
На man-странице говорит, что это:
Если оболочка запускается с пользователя (группы) идентификатор не равен реальному пользователю (группе) ID и параметр-p не указан, нет файлов автозапуска читать, оболочка функции не наследуются из окружающей среды, SHELLOPTS, BASHOPTS, переменную окружения cdpath, и GLOBIGNORE переменные, если они появляются в среде, игнорируются, а эффективный идентификатор пользователя устанавливается в реальный идентификатор пользователя. Если опция-P, поставляемой на вызов, поведение при запуске и то же, но эффективный идентификатор пользователя не сбрасывается.
Но это не работает для меня. -п
даже не упомянут среди параметров запуска. Я тоже пробовал --в POSIX
; не работал.
Это интересный случай, что вы приводите. Я думаю, что он упадет где-то между 'нормальным' и 'явный проступок' (хотя я уверен, что другие будут не согласны). Некоторые мысли и факты:
- В области компьютерных наук, хотя обе журналов и конф дела учитываются как документы, это обычная практика, чтобы представить расширенные версии статьи сборника в журналах. Как правило, журналов ожидать между 30% и 50% нового контента для таких документов.
- Реально, многие журналы (особенно те, которые точно не высшего качества), не супер-строгая с того, что они считают "дополнительный контент". Описывая только их методология более подробно, не предоставляя новые идеи или результаты, конечно, очень мало новый вклад, но я не уверен, если это уже квалифицируется как проступок.
- Это один из самых оригинальных авторов не хватает в журнале версия любопытная, но там могут быть причины. Предположительно, что-то немного тенистые произошло вдоль линии, но нельзя сказать, извне. Одна возможность заключается в том, что впервые автор представил конф бумаге, а в учреждение (1), с помощью B и C. D был научным руководителем и внес свой вклад практически ничего, но было добавлено из-за Лаборатории политики. Теперь, перед отправкой в журнальном варианте, а прикреплен к учреждению (2), и заменил лаборатории начальник лаборатории начальник Е.
- Что поражает меня как очень, очень странно, что в статье не оговорено, что она является продолжением предыдущей конференции бумаге со ссылкой на нее (и говоря об этом прямо в предисловии). Это единственная вещь, которую я, конечно, согласен, имеет очень плохой запах к нему. Если я получу такой "скрытый" расширение журнала За комментарий, он автоматически отвергает меня.
Теперь я имею моральное право обращаться к редактору журнала, в котором вторая статья была опубликована? Это точно не двойной публикации, ни авторы повредить мне, ни кому-либо еще. Все-таки я чувствую, что они сделали что-то неправильно. Вместо этого я живи и дай умереть?
В резюме, я бы сказал, Все дело, конечно, не хорошо выглядеть. Это, как говорится, я не думаю, что дело является достаточно явной, что нужно почувствовать, обязаны сообщать в редакцию. Честно говоря, даже если вы сделали, я думаю, не много будет. Вероятно, это не бумажный журнал чувствует себя очень горд, но я не думаю, что дело это достаточно плохо, чтобы оправдать формально втягивания бумаги.
Вы не можете справиться с входные потоки в ту сторону. Он предназначен для работы с файлами. Если вам удалось создать архив, как вы описываете, как бы он выглядел? Как бы вы распакуйте его? Не было бы именем, чтобы создать, просто данных.
Я думаю, ваш лучший выбор, чтобы получить файл и Tar его в двух отдельных команд. Если вы не хотите оставить файл на вашем диске, вы можете использовать смол --удалить-файлы
флаг:
с wget http://example.com/filename && деготь cvzf файл.тгз --удалить-файлы именем
screenkey хорошо работает, хотя и показывает баннер вместо полной виртуальной клавиатуры (и иногда мимо клавиш, но это может быть ошибка):
Как правило, я включаю мои данные и довольно много сил, чтобы все было сделано через WiFi, если не я, когда я с включенной передачей мобильных данных очевидно.
Однако, как многие знают, приложение для обмена сообщениями (в моем случае по умолчанию Google в один) требуются данные почему-то по MMS и не будет делать это через WiFi (Если есть способ, чтобы изменить это поведение, пожалуйста, поделитесь), но с моими данными это от дома/работы, если я получаю ММС сообщение, то он будет просто сидеть там с "Нажмите чтобы скачать" как вариант.
Пока это нормально, но когда я перехожу на данных в этой точке, а затем нажмите на Нажмите чтобы скачать, это будет просто сидеть там вечно говорю, что скачивание но не скачивая ничего. Оно мне пока не перезагрузить телефон, что нажав кнопку нажмите, чтобы скачать немедленно скачать ММС. Это не имеет никакого смысла для меня и я хотел бы понять, что здесь происходит.
Мой вопрос в принципе, почему не обращаются данные о неудачной загрузке ММС без перезагрузки телефона? Что мешает системе от почитания/признавая изменение состояния и доступности данных здесь? ТИА
Тандерболт как технология поддерживает последовательное подключение устройств (подключение одного устройства в другое). К сожалению, количество доступных устройств, таких как 2.5" адаптер GoFlex и видео конвертеров пока нет второй порт, чтобы разрешить это.
Ваш вариант может быть, чтобы получить 3.5" адаптер GoFlex и смонтировать диск в что и экран подключить ко второму разъему на что.
Есть некоторые разветвители HDMI на рынке, но это будет просто послать и то же изображение на каждом экране.
Очень редко, АВ отец плюс мать сценарий вы описали может вызвать заболевание: https://en.wikipedia.org/wiki/Hemolytic_disease_of_the_newborn_(НПА)
Чаще всего, резус-положительный отец плюс резус-отрицательной матери может стать причиной болезни: https://en.wikipedia.org/wiki/Rh_disease
Я не могу найти никаких сообщений о мать страдает от побочных эффектов со стороны иммунной системы ребенка. Вероятная причина этого заключается в том, что плод не сделать свои собственные антитела. Они полагаются на антитела матери. См.: https://biology.stackexchange.com/questions/5782/at-what-age-do-babies-begin-to-synthesize-their-own-antibodies
Я делаю лабораторию из книги RHCSA и хотел бы попросить помощи. Задача:
Войдите на узел1 как корень и создать каталог /shared_dir1
. Создать группу под названием shared_grp
и назначить user1000
и user2000
к нему (создать этих пользователей). Создать надлежащие собственности, членства в группах и разрешениях на Directory для поддержки совместной работы.
Что я сделал до сих пор:
1) созданный /shared_dir1 как корень
команды mkdir /shared_dir1
2) создать группу shared_grp
программой groupadd -г 9998 shared_grp
3) создал пользователей
программы user1000
программы user2000
4) назначается user1000 и user2000 к shared_grp
освобождение -г shared_grp user1000
освобождение -г shared_grp user2000
5) для поддержки совместной работы я установил функцию setgid бит следующим образом
чмод г+с /shared_dir1
6)проверка использования setgid бит установлены правильно
ЛС-ЛД /shared_dir1
директорию типа drwxr-**ы**р-х
7) поменял владельца группы от корней до shared_grp:
Чаун корень:shared_grp /shared_dir1
Мой первый вопрос, почему я могу получить компакт-диск
в /shared_dir1
(с user1000 или user2000, когда по ЛС
командой /shared_dir1
отсутствует разрешение на выполнение ?
Обычно VPS нет среда рабочего стола, так что вы должны установить один из СШ
подключение, установка VNC и после этого вы сможете использовать VNC-клиент для подключения к удаленному рабочему столу.
Просто имейте в виду, что графические данные намного более высокую пропускную способность, чем засорение текста. И. Е. по VNC будет использовать больше полосы пропускания, чем просто просмотр веб-страниц. Плюс любой медиа-контент на сайтах не будет очень гладкой на VNC, если они играют на всех.
И окружение рабочего стола будет использовать много памяти вашего VPS, короче говоря в общем, это не хорошая идея, чтобы иметь VPS с де, но если вам действительно нужно, это подключиться через SSH и выполните команду:
apt-получить установку Убунту-десктоп ГДМ vnc4server
Проверьте также: