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

Для вопросов о скриптах, написанных для командной оболочки Bash. Для сценариев оболочки с ошибками / синтаксическими ошибками, пожалуйста, проверьте их с помощью программы shellcheck (или на сервере веб-проверки оболочки по адресу https://shellcheck.net) перед размещением здесь. Вопросы об интерактивном использовании Bash, скорее всего, будут касаться темы Super User, а не переполнения стека.

5
Есть ли способ создавать пары ключ-значение в сценарии Bash?
Я пытаюсь создать словарь пары ключ-значение с помощью сценария Bash. Я пытаюсь использовать эту логику: declare -d dictionary defaults write "$dictionary" key -string "$value" ... где $dictionaryпеременная, но это не работает. Есть ли способ создавать пары ключ-значение в сценарии Bash?

9
Как в bash подсчитать количество строк в переменной?
У меня есть переменная, в которой хранится строка, и мне нужно проверить, есть ли в ней строки: var=`ls "$sdir" | grep "$input"` псевдокод: while [ ! $var's number of lines -eq 1 ] do something Это моя идея, как это проверить. echo $var | wc -lне работает - всегда говорит …
82 bash  string 

4
Как запустить скрипт в определенное время в Linux? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 7 лет назад . Уточните этот вопрос У меня есть текстовый файл с конкретной датой и временем. Я хочу иметь …
81 linux  bash  scripting  debian 

2
Что означает> &?
Меня немного смутило это выражение: gcc -c -g program.c >& compiler.txt Я знаю, &>filenameчто как stdout, так и stderr будут перенаправлены в файл filename. Но в этом случае амперсанд стоит после знака «больше». Похоже, это имеет вид M>&N, где Mи N- дескрипторы файлов. В приведенном выше фрагменте есть M=1и N='compiler.txt'? …

9
Как показать только индикатор выполнения wget?
Например: wget http://somesite.com/TheFile.jpeg downloading: TheFile.tar.gz ... --09:30:42-- http://somesite.com/TheFile.jpeg => `/home/me/Downloads/TheFile.jpeg' Resolving somesite.co... xxx.xxx.xxx.xxx. Connecting to somesite.co|xxx.xxx.xxx.xxx|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1,614,820 (1.5M) [image/jpeg] 25% [======> ] 614,424 173.62K/s ETA 00:14 Как я могу заставить его выглядеть так downloading: TheFile.jpeg ... 25% [======> ] 614,424 173.62K/s …
81 linux  bash  wget  sh 


10
Остановите и удалите контейнер докеров, если он запущен
Я хочу прагматично остановить и удалить контейнер докера, если он запущен. Это для сценария сборки. Возьмем следующий пример. Как мне остановить и удалить докер-контейнер rabbitmq, как показано в столбце NAMES в сценарии bash? docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9909a5e2856f rabbitmq-image "/docker-entrypoint.s" 11 minutes ago Up …

3
Как получить только первые десять байт двоичного файла
Я пишу сценарий bash, который должен получить заголовок (первые 10 байтов) файла, а затем в другом разделе получить все, кроме первых 10 байтов. Это двоичные файлы, и в первых 10 байтах они, скорее всего, будут содержать \0символы "и \n". Похоже, что большинство утилит работают с файлами ASCII. Как лучше всего …
80 bash  binary 


6
bash echo количество строк файла, заданных в переменной bash без имени файла
У меня есть следующие три конструкции в сценарии bash: NUMOFLINES=$(wc -l $JAVA_TAGS_FILE) echo $NUMOFLINES" lines" echo $(wc -l $JAVA_TAGS_FILE)" lines" echo "$(wc -l $JAVA_TAGS_FILE) lines" И оба они производят идентичный вывод при запуске скрипта: 121711 /home/slash/.java_base.tag lines 121711 /home/slash/.java_base.tag lines 121711 /home/slash/.java_base.tag lines Т.е. имя файла тоже отображается эхом (чего …
79 bash  wc 

10
Используя историю bash, чтобы получить предыдущую команду, скопируйте ее, а затем `` запустите '', но с комментариями к команде
Просто вопрос, чтобы улучшить свои bashнавыки. Я всегда так делаю: $ history | grep some_long_command ... ... 123 some_long_command1......... 124 some_long_command2......... ... Затем я могу запустить команду, которую нашел, выполнив: !123 Однако мне часто хочется это сделать: some_long_command1foobar Т.е. измените команду, прежде чем я ее запустил. Можете ли вы использовать …

3
Как мне создать сценарий настройки?
Это может показаться очень общим вопросом, но вот оно. У меня есть требование , чтобы создать скрипт конфигурации для моего приложения, в результате этого Configure будет генерируемым makefile(основные configure, make, make install). Мой вопрос в том, с чего мне начать создавать это? Есть ли пример, которому я могу следовать?

3
Невозможно передать символ «#» в качестве аргумента командной строки
Я не могу передать строки, начинающиеся с #аргументов командной строки. Вот простой тест: #include <stdio.h> int main(int argc, char *argv[]) { for (int i = 1; i < argc; i++) printf("%s ", argv[i]); putchar('\n'); return 0; } Если я введу аргументы следующим образом: 2 4 # 5 6 Ценность argcесть …

1
3> & 1 означает 4> & 3 5> & 3 и т. Д.?
Я бы ожидал echo foo | tee /proc/self/fd/{3..6} 3>&1 потерпеть неудачу с ошибками типа / proc / self / fd / 4: нет такого файла или каталога и т. д., но, к моему удивлению, он выводит foo foo foo foo foo Это как будто 3>&1все последующие дескрипторы перенаправляются на стандартный …

7
Как мне отредактировать текущую команду оболочки, не выполняя ее?
Кажется, есть довольно много информации о том, как отредактировать и выполнить команду, используя ваш редактор, используя «edit-and-execute-command (Cx Ce)», но чего я хотел бы добиться, так это взять текущую команду оболочки, apply определенную фильтрацию (используя сценарий) и затем верните ее, чтобы запросить дальнейшее утверждение / ручные изменения перед выполнением. Это …
13 bash 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.