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

98
Разница между «функцией foo () {}» и «foo () {}»

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

97
^ x ^ y Unix трюк для всех экземпляров в последней команде?

Один из моих любимых трюков с Unix - ^x^yвзять последнюю команду и заменить первый экземпляр «x» на «y». Однако мне интересно, работает ли подобный трюк, чтобы заменить все вхождения «x» на «y» в последней...

94
Запутанное использование && и || операторы

Я скользя через /etc/rc.d/init.d/sendmailфайл (я знаю , что это вряд ли когда - либо использовал, но я учусь на экзамен), и я стал немного запутался о &&и на ||операторах. Я читал, где они могут быть использованы в таких заявлениях, как: if [ test1 ] && [ test2 ]; then echo "both...

94
Как совместить условия 2-name в find?

Я хотел бы искать файлы, которые не соответствуют 2 -nameусловиям. Я могу сделать это так: find /media/d/ -type f -size +50M ! -name "*deb" ! -name "*vmdk" и это даст правильный результат, но могу ли я как-то соединить эти 2 условия с...

94
Действительно ли скобки помещают команду в подоболочку?

Из того, что я прочитал, размещение команды в скобках должно запускать ее в подоболочке, аналогично запуску скрипта. Если это правда, как он видит переменную x, если x не экспортируется? x=1 Запуск (echo $x)в командной строке приводит к 1 Запуск echo $xв скрипте ничего не дает, как и...

93
Какие ваши любимые функции командной строки или трюки?

Поделитесь своими возможностями и приемами командной строки для Unix / Linux. Старайтесь, чтобы это не зависело от оболочки / дистрибутива, если это возможно. Интересует просмотр псевдонимов, однострочников, сочетаний клавиш, небольших сценариев оболочки и т....

88
Как сравнить две даты в оболочке?

Как можно сравнить две даты в оболочке? Вот пример того, как я хотел бы использовать это, хотя это не работает как есть: todate=2013-07-18 cond=2013-07-15 if [ $todate -ge $cond ]; then break fi Как мне достичь желаемого...

87
Можно ли как-то добавить «&& prog2» к уже запущенному prog1?

Большинство оболочек предоставляют такие функции, как &&и ;цепочка выполнения команд определенным образом. Но что, если команда уже запущена, могу ли я как-то добавить еще одну команду, которая будет выполняться в зависимости от результата первой? Скажи я побежал $ /bin/myprog some...

86
Переслать SIGTERM ребенку в Баш

У меня есть скрипт Bash, который выглядит примерно так: #!/bin/bash echo "Doing some initial work...."; /bin/start/main/server --nodaemon Теперь, если оболочка bash, выполняющая скрипт, получает сигнал SIGTERM, она также должна отправить SIGTERM на работающий сервер (который блокируется, поэтому...

86
Процесс замещения и трубы

Мне было интересно, как понять следующее: Передача стандартного вывода команды в стандартную команду другого является мощной техникой. Но что, если вам нужно передать стандартный вывод нескольких команд? Это где процесс замены приходит. Другими словами, может ли процесс замещения делать то, что...

85
Преобразовать содержимое файла в нижний регистр

У меня есть tempфайл с содержимым в нижнем и верхнем регистре. вход Содержание моего tempфайла: hi Jigar GANDHI jiga Я хочу преобразовать все верхнее в нижнее . команда Я попробовал следующую команду: sed -e "s/[A-Z]/[a-z]/g" temp но получил неправильный вывод. Выход Я хочу это как: hi jigar gandhi...

84
Генерация случайных чисел в определенном диапазоне

Немного погуглив, я не смог найти простой способ использовать команду оболочки для генерации случайного десятичного целого числа, включенного в определенный диапазон, то есть между минимумом и максимумом. Я читал о /dev/random, /dev/urandomи $RANDOM, но ни один из них не может сделать то, что мне...

81
В чем разница между eval и exec?

evalи execоба встроены в команды bash (1), которые выполняют команды. Я также вижу, execесть несколько вариантов, но это единственная разница? Что происходит с их

81
Почему `if IFS = read` используется так часто, вместо` IFS =; пока читаешь ..`?

Кажется, что в обычной практике установка IFS выходит за пределы цикла while, чтобы не повторять установку его для каждой итерации ... Является ли это просто привычным стилем "monkey see, monkey do", как это было для этой обезьяны до Я читаю человека, читаю , или мне не хватает какой-то тонкой (или...

80
Рекурсивный шар?

Я хотел бы написать что-то вроде этого: $ ls **.py чтобы получить все .py имена файлов, рекурсивно обходить иерархию каталогов. Даже если есть файлы .py, которые нужно найти, оболочка (bash) выдает следующее: ls: cannot access **.py: No such file or directory Любой способ сделать то, что я хочу?...

80
определение пути к исходному скрипту

Есть ли способ для Sourced скрипт , чтобы узнать путь к себе? В основном я занимаюсь bash, хотя у меня есть коллеги, которые используют tcsh. Я предполагаю, что мне может не повезти здесь, так как использование источников приводит к выполнению команд в текущей оболочке, так $0что все равно остается...