bash ×66
Создан 03.01.2025
8
голоса
5
ответов
6
просмотров
Синтаксис однострочного цикла while в Bash

Я сталкиваюсь с проблемой в составлении правильной комбинации точек с запятой и/или фигурных скобок. Я хотел бы выполнить следующий код в одну строку из командной строки:

while [ 1 ]
do
    foo
    sleep 2
done

Как мне это сделать?

9
голоса
5
ответов
2
просмотров
Получение текущего времени в секундах с начала эпохи в Linux, Bash

Я ищу что-то простое, как команда date, но чтобы результатом были секунды с 1970 года, а не текущая дата, часы, минуты и секунды.

Команда date не предоставляет такой возможности. Есть ли простой способ сделать это?

9
голоса
5
ответов
10
просмотров
Как смонтировать директорию хоста в контейнер Docker

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

Я пытаюсь примонтировать директорию хоста в контейнер Docker таким образом, чтобы все обновления, сделанные на хосте, отражались в Docker-контейнере.

Вот что я сделал:

Dockerfile:

FROM ubuntu:trusty
RUN apt-get update
RUN apt-get -y install git curl...
9
голоса
5
ответов
8
просмотров
Как разделить строку на массив в Bash?

Вопрос: Как разделить строку на части и сохранить их в массиве в Bash-скрипте?

В Bash-скрипте мне нужно разделить строку на отдельные элементы и сохранить их в массиве.

Например, у меня есть следующая строка:

Paris, France, Europe

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

8
голоса
5
ответов
2
просмотров
Ошибка "Слишком длинный список аргументов" для команд rm, cp, mv

У меня есть несколько сотен PDF-файлов в директории на UNIX. Имена этих PDF-файлов довольно длинные (примерно 60 символов).

Когда я пытаюсь удалить все PDF-файлы сразу, используя следующую команду:

rm -f *.pdf

я получаю следующую ошибку:

/bin/rm: cannot execute [Argument list too...
16
голоса
5
ответов
15
просмотров
echo, который выводит в stderr

Существует ли стандартная команда Bash, которая ведет себя как echo, но выводит информацию в поток ошибок (stderr) вместо стандартного вывода (stdout)? Я знаю, что можно использовать echo foo 1>&2, но это выглядит не очень красиво и, по моему мнению, может привести к ошибкам (например,...

10
голоса
5
ответов
7
просмотров
Как передать все аргументы, переданные в Bash-скрипт, в мою функцию?

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

10
голоса
5
ответов
15
просмотров
Посчитать количество строк в репозитории Git

Как посчитать общее количество строк во всех файлах в git-репозитории?

Команда git ls-files выдает список файлов, отслеживаемых git. Я ищу команду, которая позволит мне объединить содержимое всех этих файлов. Что-то вроде следующего:

git ls-files | [объединить все эти файлы] | wc...
12
голоса
5
ответов
15
просмотров
"Передача всех аргументов в Bash-скрипте"

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

Например, имя моего скрипта — foo.sh, и он вызывает bar.sh.

Содержимое foo.sh:

bar $1 $2 $3 $4

Как мне сделать это, не указывая явно...

14
голоса
5
ответов
10
просмотров
Замена одной подстроки на другую в shell-скрипте

У меня есть строка firstString = "I love Suzi and Marry", и я хочу заменить в ней "Suzi" на "Sara".

Вот код, который у меня есть:

firstString = "I love Suzi and Marry"
secondString = "Sara"

Я хочу получить следующий результат:

firstString = "I love Sara and...
14
голоса
5
ответов
10
просмотров
Как экранировать одиночные кавычки внутри строк, заключённых в одиночные кавычки

У меня есть проблема с определением alias в Bash. Вот простой пример, который работает без проблем:

alias rxvt='urxvt'

Однако, когда я пытаюсь установить alias с параметрами, это не срабатывает:

alias rxvt='urxvt -fg '#111111' -bg '#111111''

Аналогично, следующий вариант...

9
голоса
4
ответов
6
просмотров
Разница между одинарными и двойными кавычками в Bash

В Bash, в чем разница между одинарными кавычками ('') и двойными кавычками ("")?

11
голоса
5
ответов
10
просмотров
Извлечение подстроки в Bash

Проблема: Извлечение пятицифрового числа из названия файла

У меня есть название файла в формате someletters_12345_moreletters.ext, и мне нужно извлечь пятизначную последовательность цифр и сохранить её в переменной.

Чтобы уточнить задачу: у меня есть название файла, состоящее из...

11
голоса
5
ответов
15
просмотров
Рекурсивный подсчет файлов в директории Linux

Как можно рекурсивно подсчитать количество файлов в директории Linux? Я нашел следующее решение: find DIR_NAME -type f ¦ wc -l

Но когда я пытаюсь его запустить, возникает следующая ошибка:

find: пути должны предшествовать выражению: ¦

15
голоса
5
ответов
9
просмотров
Формат даты YYYY-MM-DD в shell-скрипте

Я пытался использовать $(date) в своем скрипте на Bash, однако мне нужно, чтобы дата была в формате YYYY-MM-DD. Как мне это сделать?

10
голоса
5
ответов
27
просмотров
Как работает "cat << EOF" в bash?

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

После немного поиска в интернете, я нашел следующий синтаксис, который работает:

cat << EOF | psql ---params BEGIN;

pg_dump ----something

update table .... statement ...;

END; EOF

Этот...

8
голоса
5
ответов
8
просмотров
Как использовать 'grep' для непрерывного потока?

Возможно ли использовать grep на непрерывном потоке данных?

Я имею в виду что-то вроде команды tail -f <file>, но с применением grep к этому выводу, чтобы оставить только интересующие меня строки.

Я пробовал команду tail -f <file> | grep pattern, но, кажется, grep может выполняться...

24
голоса
4
ответов
15
просмотров
Как установить переменную на вывод команды в Bash?

У меня есть довольно простой скрипт, который выглядит примерно так:

#!/bin/bash

VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF

Когда я запускаю этот скрипт из командной строки и передаю ему аргументы, я не получаю никакого вывода. Однако, когда я...

11
голоса
5
ответов
20
просмотров
Как сделать паузу в shell-скрипте на одну секунду перед продолжением?

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

Я пробовал использовать команду pause(1), но получаю ошибку: -bash: syntax error near unexpected token '1'. Как это можно...

11
голоса
5
ответов
10
просмотров
Как поместить уже запущенный процесс под nohup?

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

Как мне перевести его под управление nohup (то есть, как заставить его продолжать выполнение даже после закрытия терминала)?