bash ×135
Создан 03.01.2025
5
голоса
3
ответов
606
просмотров
В чем разница между [ и [[ в Bash?

Проблема с использованием квадратных скобок в Bash

Я просмотрел страницу man для Bash и заметил, что конструкция [[ обозначает использование условных выражений. Затем я ознакомился с разделом о условных выражениях и увидел, что там перечислены те же операторы, что и для команды test (и для...

5
голоса
5
ответов
12
просмотров
Как запустить несколько программ параллельно из bash-скрипта?

Я пытаюсь написать файл .sh, который запускает несколько программ одновременно.

Я пробовал следующий код:

prog1 prog2

Но в этом случае сначала выполняется prog1, а затем, после его завершения, начинает выполняться prog2...

Как я могу запустить их параллельно?

5
голоса
5
ответов
11
просмотров
Использование getopts для обработки длинных и коротких командных опций

Проблема с обработкой длинных и коротких командных опций в shell-скрипте

Я хотел бы реализовать в моем shell-скрипте поддержку как длинных, так и коротких форм командных опций. Я знаю, что для этого можно использовать getopts, как в Perl, но мне не удалось достичь такого же результата в...

5
голоса
5
ответов
19
просмотров
Может ли shell-скрипт устанавливать переменные окружения вызывающей оболочки?

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

Я знаю, что в csh/tcsh можно использовать команду:

setenv FOO foo

или, в случае sh/bash, выполнится...

5
голоса
5
ответов
10
просмотров
Как добавить индикатор прогресса в shell-скрипт?

Проблема: Добавление индикатора прогресса в скрипты оболочки

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

Например, это может быть при копировании...

5
голоса
5
ответов
11
просмотров
Как узнать дату истечения SSL-сертификата из закодированного в PEM сертификата?

Я имею на руках файл сертификата и использую Bash-оболочку в Mac или Linux. Как я могу проверить, когда этот сертификат истечет? Я говорю не о веб-сайте, а о самом файле сертификата, предполагая, что у меня есть файлы csr, key, pem и chain.

5
голоса
5
ответов
12
просмотров
Как автоматически создать cron-задачу с помощью Bash без интерактивного редактора?

Существует ли возможность в crontab создать задания Cron без использования редактора (crontab -e)? Если да, то каков будет код для создания задания Cron из Bash-скрипта?

5
голоса
5
ответов
15
просмотров
Как найти последнее поле с помощью команды 'cut'

Как извлечь последнее поле из строки, когда количество полей неизвестно или изменяется на каждой строке, используя только команду cut, без использования sed или awk?

6
голоса
5
ответов
12
просмотров
Как объединить элементы массива Bash в строку с разделителем?

У меня есть массив в Bash, который выглядит следующим образом:

FOO=( a b c )

Как мне объединить элементы массива через запятую? Например, чтобы получить строку a,b,c.

6
голоса
5
ответов
11
просмотров
Как выделить команды bash/shell в Markdown?

Как выделить команды Bash/шела в Markdown файлах?

Я пытаюсь выделить команды Bash/шела в своих Markdown файлах, но не уверен, как это сделать. Например, для выделения кода на JavaScript я использую следующий синтаксис:

function () { return "Этот код выделен как JavaScript!" }

Для...

5
голоса
5
ответов
11
просмотров
Разница между return и exit в функциях Bash

В чем разница между return и exit в функциях Bash с точки зрения кодов завершения?

5
голоса
5
ответов
13
просмотров
Установка переменной окружения перед командой в Bash не работает для второй команды в пайпе

Описание проблемы

В определенной оболочке я обычно устанавливаю переменные и затем выполняю команду. Недавно я узнал о концепции добавления определения переменной перед командой:

FOO=bar somecommand someargs

Это работает... в целом. Однако, это не работает, когда вы пытаетесь...

5
голоса
5
ответов
13
просмотров
Как переименовать расширение для нескольких файлов?

В каталоге у меня есть несколько файлов с расширением *.html. Мне нужно переименовать их все в *.txt.

Как это сделать?
Я использую оболочку Bash.

5
голоса
5
ответов
12
просмотров
Как вернуть строковое значение из функции Bash

Я хотел бы вернуть строку из функции Bash.

Я приведу пример на Java, чтобы продемонстрировать, что именно я хочу сделать:

public String getSomeString() {
  return "tadaa";
}

String variable = getSomeString();

Пример ниже работает в Bash, но существует ли более элегантный способ...

5
голоса
5
ответов
12
просмотров
Как выполнить операцию логического ИЛИ для сравнения целых чисел в скриптах оболочки?

Я пытаюсь выполнить простую проверку условия, но, похоже, это не срабатывает.

Если $# равен 0 или больше 1, то нужно вывести "hello".

Я пробовал следующий синтаксис, но безуспешно:

if [ "\(#" == 0 -o "\)#" > 1 ] ; then echo "hello" fi

if [ "\(#" == 0 ] || [ "\)#" > 1 ] ; then echo...

5
голоса
5
ответов
11
просмотров
Как выполнить кодирование URL для команды curl?

Я пытаюсь написать bash-скрипт для тестирования, который принимает параметр и отправляет его с помощью curl на веб-сайт. Мне необходимо закодировать значение в URL, чтобы специальные символы обрабатывались корректно. Какой самый лучший способ сделать это?

Вот мой базовый скрипт на данный...

5
голоса
3
ответов
9
просмотров
Что означает -z в Bash?

Описание проблемы:

Я изучаю следующий код:

if [ -z $2 ]; then
    echo "usage: ...

(Три точки не имеют значения для описания использования.)
Я, возможно, неправильно гуглю, но не могу найти объяснение для опции -z.

Вы можете объяснить, что делает эта опция и в каких случаях...

5
голоса
2
ответов
12
просмотров
Как добавить однострочный комментарий к многострочной команде

Я знаю, как писать многострочные команды в Bash-скрипте, но как можно добавить комментарий для каждой строки в многострочной команде? Вот пример:

CommandName InputFiles      \ # Это комментарий для 1-й строки
            --option1 arg1  \ # Это комментарий для 2-й строки
           ...
5
голоса
4
ответов
13
просмотров
Как проверить существование переменной окружения и получить её значение?

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

Например, предположим, что перед запуском скрипта я выполняю следующую...

5
голоса
5
ответов
13
просмотров
Как создать файл в Linux из терминала? [закрыто]

Проблема: Закрытый вопрос без подробностей

Мой вопрос на Stack Overflow был закрыт с пометкой о том, что ему не хватает деталей или ясности, и сейчас он не принимает ответов. Это произошло 5 лет назад. Я хотел бы узнать: каков самый простой способ создать файл в терминале Linux?

Я понимаю,...