bash- все статьи тега


6 команд терминала для раздражающих задач

Скорость и эффективность — ключевые навыки, имеющие первостепенное значение для продуктивности в разработке. Чем больше времени уходит на выполнение простых задач, таких как поиск файлов или отображение их содержимого, тем меньше времени остается на саму разработку. При работе в командной строке псевдонимы и пользовательские функции ускоряют...

передача аргументов в фильтр jq

Вот мой конфиг.json: { "env": "dev", "dev": { "projects" : { "prj1": { "dependencies": {}, "description": "" } } } } Вот мои команды bash: PRJNAME='prj1' echo $PRJNAME jq --arg v "$PRJNAME" '.dev.projects."$v"' config.json jq '.dev.projects.prj1' config.json Вывод: prj1 null { "dependencies": {}, "description": "" } Таким образом, $PRJNAME-это prj1, но первый вызов выводит только null. Кто-ни ...

awk: выходные файлы содержат символ ^M в имени файла

У меня есть очень длинный файл, который выглядит так: 0a 190 0.121212 191 0.232323 ... 0b 190 0.1212 191 0.4545 ... 16c 190 0.34654 191 0.567565 ... Я использую awk для разделения файла на множество небольших файлов, используя следующую команду: awk '/[0-9][a-c]/{close(x); x=$0;}{print > x;}' spectrum.tsv Это работает, но имена выходных файлов все, кажется, содержат символ новой строки в конце имени файла: Я попытался удалить символ новой строки с " sub " следующим образом: ...

Баш трубопроводов препятствует глобальной переменной

unset v function f { v=1 } f | cat echo v=$v f echo v=$v Почему конвейерная передача (в любую команду) не позволяет первой команде echo напечатать 1? Второе эхо печатает 1. Я использую оболочку от удара. Я могу увидеть это, скопировав / вставив или запустив это как скрипт. ...

(ConEmu + Cygwin) как изменить имя вкладки ConEmu из скрипта cygwin bash

Я настроил свою среду ConEmu + Cygwin. Я создал задачу, когда я запускаю ее на вкладке, задача будет запускать пакетный файл, который в свою очередь изменит dir на cygwin и выполнит bash --login -i my_ssh_entry_script.sh Внутри my_ssh_entry_script.sh он прочитает конфигурационный файл в моем домашнем каталоге, а затем распечатает меню для меня, чтобы выбрать, к какому хосту подключиться. И, наконец, ... exec ssh -p$port $userhost Теперь я могу работать на выбранной машине в той же вкладк ...

Получить номер версии Java С Python

Мне нужно получить номер версии java, например "1.5", из python (или bash). Я бы использовал: os.system('java -version 2>&1 | grep "java version" | cut -d "\"" -f 2') Но это возвращает 1.5.0_30 Он должен быть совместим, если число изменяется на "1,10", например. Я хотел бы использовать cut или grep или даже sed. Она должна быть в одной строке. ...

Что такое блок кода "<< - EOSQL " в Bash при запуске SQL?

Мне нужно выполнить скрипт bash, содержащий SQL, поэтому я использую скрипт для добавления пользовательских конфигураций в контейнер Postgres Docker, согласно документам здесь: Https://github.com/docker-library/docs/tree/master/postgres#how-to-extend-this-image Но я не знаю, что EOSQL означает. Вот пример моего сценария, взятого из документов выше: #!/bin/bash set -e psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL CREATE USER docker; CREATE DATABASE docker; G ...

Вычитание Двух Переменных

У меня есть скрипт bash, который вырезает некоторые временные метки в виде SS.sss и сохраняет их в переменной: s1=$(echo $t1 | cut -c7-) s2=$(echo $t2 | cut -c7-) Я хотел бы вычесть $s2 из $s1 (и сохранить как $s3), но я не могу заставить expr работать - есть ли другой вариант? ...

Передача значения NR переменной в AWK

Можем ли мы передать NR переменной в awk? У меня есть сценарий, который выглядит так: awk -v { blah blah.. .......... count-- print count } if (count==0) {print "The end of function" print NR exit } Это часть кода awk . Я хочу передать NR в var2 как: sed -n ''"$var1"','"$var2"'p' Который должен быть повторно использован несколько раз ! Спасибо за ответы . ...

скрипт bash добавляет текст в первую строку файла

Я хочу добавить текст в конец первой строки файла с помощью скрипта bash. Файл называется /etc / cmdline.txt, который не допускает разрывов строк и нуждается в новых командах, разделенных пробелом, поэтому текст, который я хочу добавить, действительно должен быть в первой строке. То, что я получил до сих пор: line=' bcm2708.w1_gpio_pin=20' file=/boot/cmdline.txt if ! grep -q -x -F -e "$line" <"$file"; then printf '%s' "$linen" >>"$file" fi Но это добавляет текст после разрыва ст ...

Как выполнить программу python с помощью shell-скрипта (и makefile?)

Я прочитал множество учебников и вопросов/ответов stackex, но, по-видимому, мои вопросы слишком конкретны, а мои знания слишком ограничены, чтобы собрать вместе решение. [править] мое замешательство было вызвано главным образом тем, что мой проект требовал как сценария оболочки, так и файла makefile для запуска простой программы на python. Я не был уверен, почему это было необходимо,так как это казалось таким окольным путем. Похоже, что файл makefile и скрипт, скорее всего, просто есть чтобы с ...

Linux: найти все символьные ссылки данного "исходного" файла? (обратный "readlink")

Рассмотрим следующий фрагмент командной строки: $ cd /tmp/ $ mkdir dirA $ mkdir dirB $ echo "the contents of the 'original' file" > orig.file $ ls -la orig.file -rw-r--r-- 1 $USER $USER 36 2010-12-26 00:57 orig.file # create symlinks in dirA and dirB that point to /tmp/orig.file: $ ln -s $(pwd)/orig.file $(pwd)/dirA/ $ ln -s $(pwd)/orig.file $(pwd)/dirB/lorig.file $ ls -la dirA/ dirB/ dirA/: total 44 drwxr-xr-x 2 $USER $USER 4096 2010-12-26 00:57 . drwxrwxrwt 20 root root ...

bash-команда для инвертирования белого списка путей к файлам для генерации черного списка

Я хочу преобразовать белый список путей к файлам в черный список (минимальная длина) путей к файлам для данного каталога. У меня есть список каталогов, который я хочу сохранить со всеми вложенными папками и файлами в нем. Я хочу инвертировать эту информацию-это смысл получения: минимальное количество команд "удалить каталог с вложенными папками", так что результатом будет сохранение папок белого списка, включая вложенные папки и файлы. (Просто чтобы объяснить. Я не хочу удалять что-нибудь. ...

Копирование файла каждые 60 секунд bash

У меня есть сервер Thecus nas, и они, похоже, делают некоторые хитрые вещи со своими шаблонами для отображения своих файлов, в настоящее время при загрузке я запускаю команду оболочки, чтобы скопировать один файл поверх другого, так что он загружается с моим пользовательским шаблоном, однако через некоторое время (я не уверен, что это время) он перезаписывает его снова с оригиналом, и мой пользовательский шаблон исчез. Вот мой текущий загрузочный скрипт: #!/bin/bash cp /customTemplates/login. ...

Удалить последнюю строку из файла в Bash

У меня есть файл, foo.txt, содержащий следующие строки: a b c Мне нужна простая команда, в результате которой содержимое foo.txt будет: a b ...

Вызов bash-скрипт из скрипта TCL и возвращение и состояние выхода

Я пытаюсь вызвать сценарий bash из сценария TCL и должен получить статус выхода из сценария bash или, по крайней мере, передать что-то обратно в сценарий TCL, чтобы я мог сказать, успешно ли мой сценарий выполнен. Есть предложения? ...

BASH-чтение нескольких строк из текстового файла

Я пытаюсь прочитать текстовый файл, скажем файл.txt и он содержит несколько строк. Скажем, что выход file.txt равен $ cat file.txt this is line 1 this is line 2 this is line 3 Я хочу сохранить весь вывод в виде переменной, скажем, $text. Когда переменная $text повторяется, ожидаемый результат: this is line 1 this is line 2 this is line 3 Мой код выглядит следующим образом while read line do test="${LINE}" done < file.txt echo $test Выход, который я получаю, всегда только п ...

Контрольная сумма по строке

Существует ли способ вычисления контрольной суммы на строке в Linux? Команды контрольной суммы, которые я видел (cksum, md5sum, sha1sum, и т.д.) все требуют файл в качестве входных данных, и у меня нет файла. У меня есть только путь к местоположению, и я хочу вычислить контрольную сумму на этом пути. ...

Проверка целостности корня с помощью скрипта

Ниже приведен мой скрипт для проверки целостности корневого пути, чтобы убедиться, что в переменной PATH нет уязвимости. #! /bin/bash if [ ""`echo $PATH | /bin/grep :: `"" != """" ]; then echo "Empty Directory in PATH (::)" fi if [ ""`echo $PATH | /bin/grep :$`"" != """" ]; then echo ""Trailing : in PATH"" fi p=`echo $PATH | /bin/sed -e 's/::/:/' -e 's/:$//' -e 's/:/ /g'` set -- $p while [ ""$1"" != """" ]; do if [ ""$1"" = ""."" ]; then echo ""PATH contains ."" shift ...

BASH-перемешивание символов в строках из файла

У меня есть файл (filename.txt) со следующей структурой: >line1 ABC >line2 DEF >line3 GHI >line4 JKL Я хотел бы перетасовать символы в строках, которые делают не start wit >. Выходные данные (например) будут выглядеть следующим образом: >line1 BCA >line2 DFE >line3 IHG >line4 KLJ Это то, что я пытался перетасовать символы в строке: sed 's/./&n/' | shuf | tr -d "n". Похоже, что это работает, но не учитывает новые строки. Более того, он выполняет команду ...