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

68
Почему установка переменной перед командой разрешена в bash?

Я только что столкнулся с несколькими ответами, такими как разбор текстового файла с разделителями ... который использует конструкцию: while IFS=, read xx yy zz;do echo $xx $yy $zz done < input_file где IFSпеременная устанавливается перед readкомандой. Я читал ссылку на bash, но не могу понять,...

68
как можно использовать шеллшок через SSH?

По-видимому, эксплойт Bash Shellhock Bash CVE-2014-6271 можно использовать по сети через SSH. Я могу представить, как эксплойт будет работать через Apache / CGI, но я не могу представить, как это будет работать через SSH? Может кто-нибудь привести пример использования SSH и какой вред может быть...

68
В чем разница между ~ / .profile, ~ / .bashrc, ~ / .bash_profile, ~ / .gnomerc, / etc / bash_bashrc, / etc / screenrc…?

Ответы на вопросы по SO и askubuntu , а также просмотр (и чтение заголовков) $HOMEи /etc/, указывают ряд файлов, которые можно использовать для установки переменных среды, включая: ~/.profile ~/.bashrc ~/.bash_profile ~/.gnomerc ~/.Rprofile /etc/bash_bashrc /etc/profile /etc/screenrc Я собираю, что...

68
Есть ли способ чтения последнего элемента массива с помощью bash?

Если у меня есть массив с 5 элементами, например: [a][b][c][d][e] Используя echo ${myarray[4]}я могу видеть, что он держит. Но что, если я не знаю количество элементов в данном массиве? Есть ли способ прочитать последний элемент массива неизвестной длины? т.е. первое чтение элемента справа налево...

67
Поиск предыдущей команды с префиксом, который я только что набрал

Мы можем использовать стрелки вверх и вниз для навигации по истории команд. В некоторых IDE, таких как Matlab, если мы что-то вводим, а затем нажимаем клавиши со стрелками, мы прокручиваем только те команды истории, которые начинаются с того, что мы ввели. Это действительно удобно, но в терминале...

67
смотреть псевдоним команды расширения

Если запустить watchкоманду, содержащую псевдоним, она не будет расширять псевдоним. Я пробовал как с одинарными, так и с двойными кавычками, на самом деле дали следующий псевдоним: # alias ll alias ll='ls -l --color=tty' Следующая команда не удастся # watch ll sh: ll: command not found Разве не...

67
тайм-аут сервера ключей при попытке добавить открытый ключ GPG

Я пытаюсь добавить открытый ключ для установки программы с CPG. Но я новичок в этом, но каждая найденная команда выдает мне ту же ошибку: gpg --keyserver keyserver.ubuntu.com --recv-keys 94558F59 gpg: requesting key 94558F59 from hkp server keyserver.ubuntu.com gpg: keyserver timed out gpg:...

66
Как заставить yum установить без запроса пользователя, используя bash?

Я пишу bash-скрипт для установки php5.4, и я хотел бы автоматизировать это для тестовой виртуальной машины. У меня есть команда rpm: rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm yum install php54w Теперь, в середине этого процесса, появляется приглашение пользователя ввести [Y / N],...

65
В bash возможно ли использовать целочисленную переменную в цикле управления цикла for?

У меня есть следующий скрипт bash: #!/bin/bash upperlim=10 for i in {0..10} do echo $i done for i in {0..$upperlim} do echo $i done Первый forцикл ( без переменной upperlimв контроле цикла) работает нормально, а второй forцикл ( с переменной upperlimв контроле цикла) - нет. Есть ли способ, которым...

65
Есть ли способ предотвратить добавление команды в вашу историю?

Есть ли способ предотвратить добавление команды в вашу историю? У меня есть команда, которую я хочу сохранить в своем файле истории, и я действительно не хочу, чтобы она была там при поиске истории, хранящейся в памяти, хотя это не так важно. Есть ли способ предотвратить это, или мне просто нужно...

64
Рекурсия символической ссылки - что делает ее «перезагрузкой»?

Я написал небольшой скрипт bash, чтобы увидеть, что происходит, когда я продолжаю следовать по символической ссылке, которая указывает на тот же каталог. Я ожидал, что он либо создаст очень длинный рабочий каталог, либо вылетит. Но результат меня удивил ... mkdir a cd a ln -s ./. a for i in `seq 1...

64
Решение "mv: список аргументов слишком длинный"?

У меня есть папка с более чем миллионом файлов, которые нужно отсортировать, но я ничего не могу сделать, потому что mvвыводит это сообщение постоянно -bash: /bin/mv: Argument list too long Я использую эту команду для перемещения файлов без расширений: mv -- !(*.jpg|*.png|*.bmp)...

64
Как прочитать первую и последнюю строку из вывода cat?

У меня есть текстовый файл. Задача - получить первую и последнюю строку из файла после $ cat file | grep -E "1|2|3|4" | commandtoprint $ cat file 1 2 3 4 5 Нужно это без вывода кошки (только 1 и 5). ~$ cat file | tee >(head -n 1) >(wc -l) 1 2 3 4 5 5 1 Возможно awk и более короткое решение...

64
Как проверить, является ли файл символической ссылкой на каталог?

Я могу проверить, существует ли файл и является ли он символической ссылкой с -L for file in *; do if [[ -L "$file" ]]; then echo "$file is a symlink"; else echo "$file is not a symlink"; fi done и если это каталог с -d: for file in *; do if [[ -d "$file" ]]; then echo "$file is a directory"; else...

64
Сбой сценария оболочки: Синтаксическая ошибка: «(» неожиданно

Я работал над сценарием, который автоматизирует настройку среды разработки для разработки Raspberry Pi (пошаговая информация о работе здесь ). Сценарий связан с этой статьей, но вы также можете найти его здесь . Теперь при запуске этого скрипта установите и настройте среду без ошибок, но вам...

63
Убить все фоновые задания

Существует ли более компактная форма убийства фоновых заданий, чем: for i in {1..5}; do kill %$i; done Кроме того, {1..5}, очевидно, содержит жестко закодированное магическое число, как я могу сделать его "N", где N - это правильное число, без выполнения: $(jobs | wc -l) Я фактически использую \ j...

63
Все ли bash-скрипты совместимы с `zsh`?

Я хочу перейти от bash к zsh, но обеспокоен совместимостью сценариев bash. Все ли скрипты / функции bash совместимы с zsh? Следовательно, если это правда, zsh - это просто улучшение...

63
«Ловушка ... INT TERM EXIT» действительно необходимо?

Много примеров для trapиспользования trap ... INT TERM EXITв задачах очистки. Но действительно ли необходимо перечислять все три сигсипа? В руководстве сказано: Если SIGNAL_SPEC - EXIT (0), ARG выполняется при выходе из оболочки. что, я считаю, применимо независимо от того, закончился ли скрипт...

63
Могу ли я настроить свою оболочку для печати STDERR и STDOUT разными цветами?

Я хочу настроить свой терминал так, чтобы stderrон печатался другим цветом, чем stdout; возможно красный. Это облегчит различие между ними. Есть ли способ настроить это в .bashrc? Если нет, возможно ли это? Примечание . Этот вопрос был объединен с другим вопросом, который запрашивался stderr,...