Tag: bash

Почему использование `yes` на bash-конвейерах * не * вызывает бесконечные циклы?

Согласно своей документации, bash ждет, пока все команды в конвейере не закончатся, прежде чем продолжить Оболочка ждет завершения всех команд в конвейере перед возвратом значения. Так почему же команда yes | true yes | true конец сразу? Должна ли ципетка yes навсегда и заставить трубопровод никогда не возвращаться? И подзапрос: согласно спецификации POSIX , конвейеры […]

Как проверить, какая строка скрипта bash выполняется

Есть ли способ проверить, какой номер строки сценария bash выполняется «прямо сейчас»?

Alt-Left для пропуска слов не работает в эмуляторах терминалов

На машине Debian Wheezy на предыдущем задании я привык к Alt + Left и Alt + Right, чтобы пропустить между словами в активной командной строке (в bash). Однако, поскольку дома я обновился до Jessie (Debian 8.0, тестовая ветка), это больше не работает: вместо перехода к предыдущему слову Alt-Left печатает что-то вроде D или [D OTOH, […]

/ usr / bin / env как shebang – и его последствия для безопасности

В нескольких местах я видел совет, чтобы использовать следующую линию shebang #!/usr/bin/env bash вместо #!/usr/bin/bash Моя реакция на коленный рефлекс: «Что, если кто-то заменит этот исполняемый файл своими словами в ~/.local/bin ?» Этот каталог часто настраивается на пути пользователя до общесистемных путей. Я вижу, что это поднималось как проблема безопасности часто как побочная заметка, а […]

'ls' показывает два идентичных файла в каталоге

Так что как-то команда ls кажется, показывает мне два идентичных файла в каталоге. Я, конечно, ничего не делаю здесь. вот $ ls -Blah /System/Library/LaunchDaemons total 32 drwxr-xr-x 266 root wheel 8.8K Jun 18 10:41 . drwxr-xr-x 79 root wheel 2.6K Mar 31 12:28 .. [redacted] -rw-r–r– 1 root wheel 715B Jun 18 10:36 tftp.plist -rw-r–r– […]

Ошибка `ls` при удалении каталога

У меня две оболочки открыты. Первый находится в каталоге A. Во втором я удаляю каталог A, а затем воссоздаю его. Когда я возвращаюсь к первой оболочке и ls , вывод: ls: cannot open directory .: Stale file handle Зачем? Я думал, что первая оболочка (та, которая осталась открытой внутри несуществующего каталога) «замерзла», ожидая следующей команды, […]

Регулярное выражение в сценарии bash

Это мой первый сценарий bash, поэтому я, вероятно, делаю легкую ошибку. В основном, я пытаюсь написать скрипт, который получает группы пользователей, и если они находятся в определенной группе, он будет регистрировать это соответственно. Очевидно, будет больше функциональности, но нет никакого смысла в том, что, когда я не могу даже заставить регулярное выражение работать! Пока у […]

Извлечение строки в соответствии с шаблоном в сценарии bash

В bash предположим, что у меня есть строковый strname : strname="ph7go04325r" Я хотел бы извлечь символы между первым символом "3" и последним символом "r" в strname , сохранив результат в строке strresult . В приведенном выше примере результирующий strresult будет: strresult="25" Первый символ "3" не обязательно находится в строковой позиции 8 в strname ; аналогично, […]

Очистить старые строки приглашения в bash для сохранения пространства прокрутки

Моя терминальная тема раньше была такой, Но я думал, что подсказка потратила столько места. И позже у меня появилась идея, что я могу очищать подсказку каждый раз, когда я запускаю команду. Я использовал bash, одним из решений является использование функции preexec_invoke_exec . Я использую следующую команду для очистки последних символов приглашения: echo -ne "\033[1A\033[K\033[1A\033[K\033[31;1m$ \033[0m" […]

Запуск скрипта через cron каждую неделю

Я сделал немало исследований в том, как это сделать, и я вижу, что в cron нет прямого пути для работы, скажем, в любой другой четверг. Прямо сейчас я склоняюсь к созданию сценария, который будет запускаться каждую неделю, и будет касаться файла «флаг» при его запуске, а если он будет запущен и файл уже существует, чтобы […]

Linux и Unix - лучшая ОС в мире.