bash- все статьи тега ➜ страница 11


В чем разница между ${var}, "$var" и "${var}" в оболочке Bash?

что говорит название: Что значит инкапсулировать переменную в {},"" или "{}"? Я не смог найти никаких объяснений в интернете по этому поводу-я не мог ссылаться на них, за исключением использования символов, которые ничего не дают. вот пример: declare -a groups groups+=("CN=exampleexample,OU=exampleexample,OU=exampleexample,DC=example,DC=com") groups+=("CN=example example,OU=example example,OU=example example,DC=example,DC=com") это: for group in "${groups[@]}"; do echo $group done ок ...

Захватив выход найти. - print0 в массив bash

используя find . -print0 кажется, это единственный безопасный способ получения списка файлов в bash из-за возможности имен файлов, содержащих пробелы, новые строки, кавычки и т. д. тем не менее, мне трудно сделать вывод find полезным в bash или с другими утилитами командной строки. Единственный способ, которым мне удалось использовать выход, - это передать его в perl и изменить IFS perl на null: find . -print0 | perl -e '$/=""; @files=<>; print $#files;' в этом примере выводится количе ...

Cron задания и случайные времена, в течение заданных часов

Мне нужна возможность запускать PHP скрипт 20 раз в день в совершенно случайное время. Я также хочу, чтобы он работал только между 9 утра - 11 вечера. Я знаком с созданием заданий cron в linux. ...

Как разобрать CSV файл в Bash?

Я работаю над длинным сценарием Bash. Я хочу читать ячейки из CSV-файла в переменные Bash. Я могу разобрать строки и первый столбец, но не любой другой столбец. Вот мой код до сих пор: cat myfile.csv|while read line do read -d, col1 col2 < <(echo $line) echo "I got:$col1|$col2" done это только печать первого столбца. В качестве дополнительного теста я попробовал следующее: read -d, x y < <(echo a,b,) и $y пуст. Поэтому я попробовал: read x y < <(echo a ...

Как передать значение переменной в stdin команды?

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

Python vs Bash-в каких задачах каждый из них превосходит другой по производительности?

очевидно, что Python более удобен для пользователя, быстрый поиск в google показывает много результатов, которые говорят, что, поскольку Python скомпилирован байтом, обычно быстрее. Я даже нашел этой это утверждает, что вы можете увидеть улучшение более 2000% на основе словаря операций. каков ваш опыт в этом вопросе? В какой задаче каждый из них является явным победителем? ...

используйте регулярное выражение в if-condition в bash

интересно, общее правило для использования регулярного выражения в предложении if в bash? вот пример $ gg=svm-grid-ch $ if [[ $gg == *grid* ]] ; then echo $gg; fi svm-grid-ch $ if [[ $gg == ^....grid* ]] ; then echo $gg; fi $ if [[ $gg == ....grid* ]] ; then echo $gg; fi $ if [[ $gg == s...grid* ]] ; then echo $gg; fi $ почему последние три не совпадает? надеюсь, что вы могли бы дать как можно больше общих правил, а не только для этого примера. ...

В чем разница между double-ampersand (&&) и точкой с запятой (;) в Linux Bash?

в чем разница между амперсандом и точкой с запятой в Linux Баш? например, $ command1 && command2 vs $ command1; command2 ...

Git Bash не видит моего пути

когда я использую Git Bash (на Windows), я не могу запустить любой исполняемый файл без указания его полного пути, хотя он находится в папке, которая находится в моей переменной PATH. Похоже, Баш его не узнает. Зачем? Я могу это исправить? ...

Как я могу отправить stdout одного процесса в несколько процессов, используя (предпочтительно безымянные) каналы в Unix (или Windows)?

Я хотел бы перенаправить stdout процесса proc1 на два процесса proc2 и proc3: proc2 -> stdout / proc1 proc3 -> stdout пробовал proc1 | (proc2 & proc3) но это, кажется, не работает, т. е. echo 123 | (tr 1 a & tr 1 b) пишет b23 в stdout вместо a23 b23 ...

Как извлечь текст из строки с помощью СЭД?

мой пример строки выглядит следующим образом: This is 02G05 a test string 20-Jul-2012 теперь из приведенной выше строки Я хочу извлечь 02G05. Для этого я попробовал следующее регулярное выражение с sed $ echo "This is 02G05 a test string 20-Jul-2012" | sed -n '/d+Gd+/p' но вышеприведенная команда ничего не печатает, и я считаю, что она не может ничего сопоставить с шаблоном, который я предоставил sed. Итак, мой вопрос: что я делаю неправильно и как это исправить. когда я пытаюсь выше с ...

Баш: спать до определенного времени/даты

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

Как извлечь один столбец из файла csv

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

Как читать манифест.MF-файл из JAR с использованием Bash

Мне нужно прочитать манифест.Файл манифеста MF maven из "some.jar " с помощью bash ...

Многострочные команды bash в makefile

у меня есть очень удобный способ скомпилировать мой проект с помощью нескольких строк команд bash. Но теперь мне нужно скомпилировать его через makefile. Учитывая, что каждая команда выполняется в своей собственной оболочке, мой вопрос каков наилучший способ запуска многострочной команды bash, зависящей друг от друга, в makefile? Например, вот так: for i in `find` do all="$all $i" done gcc $all кроме того, может кто-нибудь объяснить, почему даже однострочная команда bash -c 'a=3; echo $a ...

Как запустить Gradle из командной строки на Mac bash

У меня очень простой вопрос. Я совершенно новый для Mac, и я пытаюсь получить мой проект Java переехал на мой новый Mac. Проект имеет файл Gradlew, который я думал, что могу запустить из командной строки для сборки и запуска на любой машине. Когда я делаю gradlew из командной строки (в местоположении файла gradlew), он говорит, что gradlew не найден. Я что-то пропустил о том, как запустить команду из оболочки bash? ...

Как объединить несколько строк вывода в одну строку? [дубликат]

этот вопрос уже есть ответ здесь: Как объединить все строки из файла в bash? 8 ответов если я выполню команду cat file | grep pattern, Я получаю много строк вывода. Как вы объединяете все строки в одну строку, эффективно заменяя каждую "n" С "" " (конец с " затем космос)? cat file | grep pattern | xargs sed s/n/ /g это не работает на меня. ...

Какой инструмент использовать для рисования диаграммы дерева файлов [закрыто]

учитывая файловое дерево-каталог с каталогами в нем и т. д., Как бы вы написали скрипт для создания диаграммы файлового дерева в виде графического файла, который я могу встроить в документ текстового процессора. Я предпочитаю вектор (SVG, EPS, EMF...) архив. Инструмент должен работать на Windows, но желательно кроссплатформенные. Инструмент может быть коммерческим, но желательно бесплатно. обновление 2012-02-20. Вопрос был связан с подпроектом документации. Мне пришлось объяснять, где файлы (в ...

Как включить символ ' & ' в инструкцию bash curl

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

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

у меня есть команда (cmd1), которая greps через файл журнала, чтобы отфильтровать набор чисел. Цифры в случайном порядке, поэтому я использую sort-gr для получения обратного отсортированного списка чисел. Там могут быть дубликаты в это отсортированный список. Мне нужно найти количество вхождений каждого уникального номера в этом списке. например, если выход cmd1: 100 100 100 99 99 26 25 24 24 мне нужна другая команда, в которую я могу передать вышеприведенный вывод, так что я полу ...