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

Оболочка является интерфейсом командной строки Unix. Вы можете вводить команды в оболочке в интерактивном режиме или писать сценарии для автоматизации задач. Используйте этот тег для вопросов, относящихся к / bin / sh и большинству совместимых оболочек (ash, bash, ksh, zsh,…). Для сценариев оболочки с ошибками, пожалуйста, проверьте их в http://shellcheck.net перед публикацией здесь.

1
Что на самом деле делают `\ time`,` t \ ime` и `\ cd`? (веселье с обратными слешами в снарядах)
Обсуждая различия между /usr/bin/timeвстроенной оболочкой (bash и zsh) time, кто-то упомянул, что ее можно использовать \timeдля краткости /usr/bin/time. Сначала это выглядело как хороший невинный ярлык, но затем возникли некоторые вопросы: Почему тоже t\imeработает? Почему \cdменяется каталог, хотя /usr/bin/cd¹ нет? Так что, очевидно, \fooне эквивалентно $(which foo). Вопрос сейчас: Охвачено ли …

5
Как сгруппировать строки в файле по двум?
У меня есть текстовый файл, как это: a b c d e f g Как я могу сгруппировать эти строки, чтобы получить вывод, как это: a-b b-c c-d d-e e-f f-g Я должен сделать это в оболочке (sh, csh, bash). Я нашел это: cat file | xargs -n2 но последний …

2
Новый псевдоним недоступен после;
До сих пор я думал, что точка с запятой в оболочке имеет (как-то) то же значение, что и разрыв строки. Поэтому я был удивлен, что для alias <name>=<replacement text>; <name> <name>неизвестно, пока известно в следующей строке. csh, tcsh, sh, kshИ bashведут себя так же. По крайней мере, для cshнего не …
9 shell  alias 

3
Как напечатать управляющие символы с escape-последовательностями?
Я определил красный цвет, используя tput red=$(tput setaf 1) раскрасить предупреждения в моей программе. Это прекрасно работает: printf '%sfail\n' "$red" # prints 'fail' in red Но в одном случае я хотел бы распечатать escape-последовательность как есть, что-то вроде: \ E [31mfail Как бы я это сделал? Я знаю, что у …

3
Новая строка в переменных bash
Я пытаюсь сохранить несколько строк в переменной bash, но, похоже, это не работает. Например, если я перечисляю по /binодному файлу в строке и сохраняю его $LS, я передаю $LSкак stdin wc, он всегда возвращает 1: $ ls -1 /bin | wc -l 134 $ LS=$(ls -1 /bin); wc -l <<< …
9 bash  shell  quoting 

4
Переместите файлы по дате в другой каталог, используя CLI
У меня есть большое количество фотографий со старого жесткого диска, которые я пытаюсь организовать. Если я запускаю ls -l, я замечаю, что все эти файлы имеют дату создания 2012 или ранее. В идеале я хотел бы перенести их на второй жесткий диск моего компьютера, который не настроен для автоматического монтирования. …

1
Почему нет новой строки в конце цитирования подоболочки и передачи результатов в echo?
Когда я делаю ls | grep pngвывод grep: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (Имя файла, символ новой строки, имя файла, символ новой строки) затем echo $(ls | grep png)выводит: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (имя файла, пробел от разделения слов, имя файла, перевод строки !! из эха !!) Это все нормально, но когда я делаю это, …

1
Linux: команда set для локальных переменных
Я пытаюсь понять локальные переменные / переменные окружения и команды экспорта / установки. $ set FILEM="razrax" $ echo $FILEM $ FILEN="test" $ echo $FILEN test Пожалуйста, объясните, почему echo $FILEMвозвращает пустую строку
9 bash  shell  variable 

2
Как bash относится к «>> ()»
Экспериментируя с перенаправлением вывода и подстановкой процесса, я наткнулся на следующую команду и ее вывод: me @ elem: ~ $ echo foo>> (кошка); эхо-бар бар me @ elem: ~ $ foo (Да, этот пустой символ новой строки в конце является преднамеренным.) Итак, bash echo's bar, печатает мою обычную подсказку, echo …

3
В чем разница между командами pbrun и sudo?
В чем разница между командами pbrun и sudo ? Я видел людей, выполняющих pbrun sudo su - что это значит? Я знаю su - он попытается переключиться на пользователя root. Какую специальность pbrun дает sudo, когда он используется вместе с командой sudo?

2
Выполните другую команду перед выполнением команды, которую хочет запустить пользователь
Допустим, я хочу изменить исходное поведение lsинструмента следующим образом: $ ls Hello World file1 file2 ... Как я могу это сделать? При запуске lsя хотел бы запустить другую команду, скажем echo "Hello World!". Быстрое решение, которое я вижу, использует псевдоним: alias orig_ls="ls" alias ls='echo "Hello World!"' Тем не менее, это …

2
Если какой-либо порожденный дочерний процесс завершится неудачно, убейте все и выйдите
В моем скрипте я разделил набор данных на input_aa, input_ab и т. Д. Затем я запускаю каждый из них по одному и тому же скрипту Python: # Execute program on each split file for part in input_*; do python3 $part & done wait У меня двоякий вопрос: как я могу …
9 bash  shell  python 

1
Как ksh93 так быстро?
Итак, в общем, я склонен обращать внимание на sedобработку текста - особенно для больших файлов - и обычно избегаю делать подобные вещи в самой оболочке. Однако я думаю, что это может измениться. Я искал вокруг, man kshи я заметил это: <#pattern Seeks forward to the beginning of the next line …

2
Как я могу условно передать подоболочку через «время»?
У меня есть сценарий установки для окна Vagrant, где я использовал для измерения отдельных шагов time. Теперь хотелось бы условно включить или отключить измерения времени. Например, ранее строка выглядела бы так: time (apt-get update > /tmp/last.log 2>&1) Теперь я думал, что мог бы просто сделать что-то вроде этого: MEASURE_TIME=true [[ …
9 bash  shell  quoting  time 

5
Могу ли я подключиться к команде cd?
Я пытаюсь что-то настроить на сервере, который я запускаю, когда cdв public_html95% случаев в папке всегда есть несколько команд, которые я всегда запускаю для проверки определенных вещей. Можно ли в любом случае подключиться, cdчтобы, если каталог был public_html, он автоматически запускал для меня команды? Если я не могу подключиться к …

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