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

22
Ошибка при использовании пустых переменных оболочки

Иногда я использую, $PROJECT_HOME/*чтобы удалить все файлы в проекте. Когда переменная окружения PROJECT_HOMEне установлена ​​(потому что я сделал, suа у нового пользователя не установлена ​​эта переменная окружения), он начинает удалять все файлы из корневой папки. Это апокалипсис. Как я могу...

22
Что CTRL + 4 (и CTRL + \) делает в bash?

Я просто случайно обнаружил, что CTRL+ 4 закрывает программы, читающие stdinввод из командной строки. Вот как это выглядит, когда я набираю CTRL+ 4или CTRL+ / в программах чтенияstdin $ cat wefwef wefwef ^\Quit $ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software...

22
Как сделать цикл для в командной строке?

Давайте возьмем простой for loop #!/bin/bash for i in `seq 1 10`; do echo $i done Точка с запятой AFAIK в скриптах bash заставляет оболочку выполнять текущую команду синхронно и затем переходить к следующей. Нажатие клавиши ввода делает то же самое, за исключением того, что она не позволяет вам...

22
Неужели синтаксис не равен материи?

При написании сценариев я обычно пишу свои if со следующим синтаксисом, так как мне легче понять, что то, что будет дальше, не соответствует действительности. if [ ! "$1" = "$2" ]; then Другие говорят, что путь ниже лучше if [ "$1" != "$2" ]; then Дело в том, что когда я спрашиваю, почему и есть ли...

22
Как этот скрипт гарантирует, что работает только один его экземпляр?

19 августа 2013 года Рэндал Л. Шварц опубликовал этот сценарий оболочки, который должен был гарантировать, что в Linux «работает только один экземпляр []], без условий гонки или необходимости очистки файлов блокировки»: #!/bin/sh # randal_l_schwartz_001.sh ( if ! flock -n -x 0 then echo "$$ cannot...

21
Unix эквивалент PowerShell?

Мне всегда было неловко, когда сложные команды оболочки включают анализ текста с AWK . По сути, мы конвертируем структурированные данные в текст, затем снова анализируем текст, чтобы вернуться к структурированным данным. PowerShell - это оболочка Windows, которая позволяет избежать этой проблемы,...

21
Как я могу убить определенную нить процесса?

$ ps -e -T | grep myp | grep -v grep 797 797 ? 00:00:00 myp 797 798 ? 00:00:00 myp 797 799 ? 00:00:00 myp 797 800 ? 00:00:00 myp Это показывает процесс mypс PID = 797 и четырьмя потоками с разными SPID. Как я могу убить определенную нить процесса, не убивая весь процесс. Я понимаю, что это может...

21
Вывести общие строки (сходства) двух текстовых файлов (противоположность diff)?

Diff - отличный инструмент для отображения изменений между двумя файлами. Но как отобразить сходство двух текстовых файлов (при этом игнорируя различия)? Т.е. пример ввода: a: Foo Bar X Hello World 42 b: Foo Baz Hello World 23 Псевдо-вывод (что-то вроде этого): @@ 2,3 =Hello World Недостаточно...

21
Как понимать трубы

Когда я просто использовал pipe в bash, я больше не думал об этом. Но когда я читаю некоторый пример кода на языке C, используя системный вызов pipe () вместе с fork (), я удивляюсь, как понимать каналы, включая как анонимные каналы, так и именованные каналы. Часто говорят, что «все в Linux / Unix...

21
Это займет много времени в небольшом каталоге

Запустив Ubuntu, я открываю терминал и делаю sudo bash cd / ls | head -n 1000 И, как и ожидалось, возвращается около 20 каталогов. Однако, если я делаю ls и не направляю его во что-либо, ls просто висит там, пока я не убью его из другого терминала. Что может происходить? РЕДАКТИРОВАТЬ: > type ls...

21
Почему «find» не показывает этот файл?

Используя findс grep, можно найти файлы, которые соответствуют шаблону: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Однако, используя findтолько первый файл не найден: # find . -name error* ./error_log...

21
разделить длинную строку на разделитель

Какую команду я могу использовать для разделения ввода следующим образом: foo:bar:baz:quux в это? foo bar baz quux Я пытаюсь выяснить cutкоманду, но, кажется, она работает только с фиксированным количеством ввода, например, «первые 1000 символов» или «первые 7 полей». Мне нужно работать с...

21
Получение относительных связей между двумя путями

Скажем, у меня есть два пути: <source_path>и <target_path>. Я хотел бы, чтобы моя оболочка (zsh) автоматически выяснила, есть ли способ представить <target_path>из нее <source_path>относительный путь. Например предположим <source_path> является /foo/bar/something...

21
Как изменить права доступа пользователя root для всех пользователей?

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

21
Как переместить первые x файлы

У меня есть эта огромная папка с тысячами неупорядоченных файлов. Возможно ли переместить первые 5000 в подпапку с помощью mvкоманды? Сейчас я перемещаю файлы с mv *some_pattern* ./subfolder1/ На данный момент я перемещаю изображения совершенно случайно, это не очень важно, если в каждой подпапке...

21
Автоматически определять, когда я набрал «vi», но имел в виду «cd»?

Примерно 5 раз в день я набираю «vi», когда имею в виду «cd», и в итоге открываю каталог в vi. Это делает меня орехами. Кажется, должен быть способ обнаружить, когда я набираю «vi + directory», и автоматически менять его на «cd + directory»....

21
скрипт bash [x $ 1 = x]

Я читаю скрипт bash Я не понимаю, что там происходит. #!/bin/sh [ x$1 = x ] Что происходит на второй линии и что [ x$1 = x ]