Вопросы
Что означает "2>&1"?
Я пытаюсь объединить потоки stderr и stdout в один поток stdout и применяю для этого следующий синтаксис к команде: 2>&1
Например, следующая команда позволяет мне увидеть несколько первых ошибок при компиляции файла main.cpp: g++ main.cpp 2>&1 | head
Но что именно означает...
Как установить переменную на вывод команды в Bash?
У меня есть довольно простой скрипт, который выглядит примерно так:
#!/bin/bash
VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'
echo $MOREF
Когда я запускаю этот скрипт из командной строки и передаю ему аргументы, я не получаю никакого вывода. Однако, когда я...
Разница между sh и Bash
Разница между Bash и sh При написании скриптов для оболочки мы часто используем /bin/sh и /bin/bash. Обычно я предпочитаю bash, но не совсем понимаю, в чем между ними разница. Какова основная разница между Bash и sh? На что нам следует обратить внимание при программировании на Bash и sh?
Как исправить ошибку npm без использования sudo
Установил Node.js и npm через пакет с сайта nodejs.org, но каждый раз, когда я пытаюсь выполнить поиск или установить что-то с помощью npm, возникает следующая ошибка, если я не использую sudo для команды. У меня есть подозрения, что это проблема с правами доступа. Я уже являюсь...
Как сделать паузу в shell-скрипте на одну секунду перед продолжением?
Я нашел информацию только о том, как ожидать ввода пользователя. Однако я хочу приостановить выполнение программы, чтобы мой цикл while true
не перегружал компьютер.
Я пробовал использовать команду pause(1)
, но получаю ошибку: -bash: syntax error near unexpected token '1'
. Как это можно...
Bash инструмент для получения n-й строки из файла
Каково "каноническое" решение данной задачи? Я использую команду head -n | tail -1
, которая справляется с этой задачей, но мне интересно, есть ли инструмент в Bash, специально предназначенный для извлечения строки (или диапазона строк) из файла.
Под "каноническим" я имею в виду программу,...
Ошибка "Слишком длинный список аргументов" для команд rm, cp, mv
У меня есть несколько сотен PDF-файлов в директории на UNIX. Имена этих PDF-файлов довольно длинные (примерно 60 символов).
Когда я пытаюсь удалить все PDF-файлы сразу, используя следующую команду:
rm -f *.pdf
я получаю следующую ошибку:
/bin/rm: cannot execute [Argument list too...
Как отключить индикатор прогресса в cURL?
Я пытаюсь использовать cURL в скрипте и хочу сделать так, чтобы не отображалась полоса прогресса.
Я попробовал опции -s, -silent, -S и -quiet, но ничего из этого не сработало.
Вот типичная команда, которую я пробовал:
curl -s http://google.com > temp.html
Прогресс бар появляется только...
Как узнать, в какой интерактивной оболочке я нахожусь (командная строка)
Как я могу определить, в какой оболочке я сейчас работаю?
Достаточно ли для этого вывода команды ps
?
Как это можно сделать в различных версиях Unix?
Как разделить большой текстовый файл на меньшие файлы с равным количеством строк?
У меня есть большой текстовый файл (по количеству строк), который я хотел бы разбить на более мелкие файлы, тоже по количеству строк. Например, если в моем файле около 2 миллионов строк, мне нужно разбить его на 10 файлов, каждый из которых содержит 200 тысяч строк, или на 100 файлов по 20 тысяч...
Linux: Копирование и создание директории назначения, если она не существует
Я хочу команду (или, возможно, опцию для cp), которая создает целевой каталог, если он не существует.
Пример:
cp -? файл /путь/к/копии/файла/по/очень/глубокому/пути
Как это можно реализовать?
Прерывание скрипта оболочки при возвращении любой команды ненулевого значения
У меня есть Bash-скрипт, который выполняет несколько команд. Я хотел бы, чтобы скрипт автоматически завершался с кодом возврата 1, если любая из команд возвращает ненулевое значение.
Есть ли способ сделать это без явной проверки результата каждой команды?
Например, вместо следующего...
Как выполнить операцию логического ИЛИ для сравнения целых чисел в скриптах оболочки?
Я пытаюсь выполнить простую проверку условия, но, похоже, это не срабатывает.
Если $# равен 0 или больше 1, то нужно вывести "hello".
Я пробовал следующий синтаксис, но безуспешно:
if [ "\(#" == 0 -o "\)#" > 1 ] ; then echo "hello" fi
if [ "\(#" == 0 ] || [ "\)#" > 1 ] ; then echo...