unix ×13
Создан 04.01.2025
32
голоса
5
ответов
57
просмотров
Что означает "2>&1"?

Я пытаюсь объединить потоки stderr и stdout в один поток stdout и применяю для этого следующий синтаксис к команде: 2>&1

Например, следующая команда позволяет мне увидеть несколько первых ошибок при компиляции файла main.cpp: g++ main.cpp 2>&1 | head

Но что именно означает...

24
голоса
4
ответов
49
просмотров
Как установить переменную на вывод команды в Bash?

У меня есть довольно простой скрипт, который выглядит примерно так:

#!/bin/bash

VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF

Когда я запускаю этот скрипт из командной строки и передаю ему аргументы, я не получаю никакого вывода. Однако, когда я...

18
голоса
2
ответов
38
просмотров
Разница между sh и Bash

Разница между Bash и sh При написании скриптов для оболочки мы часто используем /bin/sh и /bin/bash. Обычно я предпочитаю bash, но не совсем понимаю, в чем между ними разница. Какова основная разница между Bash и sh? На что нам следует обратить внимание при программировании на Bash и sh?

15
голоса
5
ответов
42
просмотров
Как исправить ошибку npm без использования sudo

Установил Node.js и npm через пакет с сайта nodejs.org, но каждый раз, когда я пытаюсь выполнить поиск или установить что-то с помощью npm, возникает следующая ошибка, если я не использую sudo для команды. У меня есть подозрения, что это проблема с правами доступа. Я уже являюсь...

11
голоса
5
ответов
59
просмотров
Как сделать паузу в shell-скрипте на одну секунду перед продолжением?

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

Я пробовал использовать команду pause(1), но получаю ошибку: -bash: syntax error near unexpected token '1'. Как это можно...

8
голоса
5
ответов
35
просмотров
Bash инструмент для получения n-й строки из файла

Каково "каноническое" решение данной задачи? Я использую команду head -n | tail -1, которая справляется с этой задачей, но мне интересно, есть ли инструмент в Bash, специально предназначенный для извлечения строки (или диапазона строк) из файла.

Под "каноническим" я имею в виду программу,...

8
голоса
5
ответов
26
просмотров
Ошибка "Слишком длинный список аргументов" для команд rm, cp, mv

У меня есть несколько сотен PDF-файлов в директории на UNIX. Имена этих PDF-файлов довольно длинные (примерно 60 символов).

Когда я пытаюсь удалить все PDF-файлы сразу, используя следующую команду:

rm -f *.pdf

я получаю следующую ошибку:

/bin/rm: cannot execute [Argument list too...
8
голоса
4
ответов
28
просмотров
Как отключить индикатор прогресса в cURL?

Я пытаюсь использовать cURL в скрипте и хочу сделать так, чтобы не отображалась полоса прогресса.

Я попробовал опции -s, -silent, -S и -quiet, но ничего из этого не сработало.

Вот типичная команда, которую я пробовал:

curl -s http://google.com > temp.html

Прогресс бар появляется только...

8
голоса
5
ответов
60
просмотров
Как узнать, в какой интерактивной оболочке я нахожусь (командная строка)

Как я могу определить, в какой оболочке я сейчас работаю?

Достаточно ли для этого вывода команды ps?

Как это можно сделать в различных версиях Unix?

7
голоса
5
ответов
34
просмотров
Как разделить большой текстовый файл на меньшие файлы с равным количеством строк?

У меня есть большой текстовый файл (по количеству строк), который я хотел бы разбить на более мелкие файлы, тоже по количеству строк. Например, если в моем файле около 2 миллионов строк, мне нужно разбить его на 10 файлов, каждый из которых содержит 200 тысяч строк, или на 100 файлов по 20 тысяч...

6
голоса
5
ответов
37
просмотров
Linux: Копирование и создание директории назначения, если она не существует

Я хочу команду (или, возможно, опцию для cp), которая создает целевой каталог, если он не существует.

Пример:

cp -? файл /путь/к/копии/файла/по/очень/глубокому/пути

Как это можно реализовать?

6
голоса
5
ответов
42
просмотров
Прерывание скрипта оболочки при возвращении любой команды ненулевого значения

У меня есть Bash-скрипт, который выполняет несколько команд. Я хотел бы, чтобы скрипт автоматически завершался с кодом возврата 1, если любая из команд возвращает ненулевое значение.

Есть ли способ сделать это без явной проверки результата каждой команды?

Например, вместо следующего...

5
голоса
5
ответов
13
просмотров
Как выполнить операцию логического ИЛИ для сравнения целых чисел в скриптах оболочки?

Я пытаюсь выполнить простую проверку условия, но, похоже, это не срабатывает.

Если $# равен 0 или больше 1, то нужно вывести "hello".

Я пробовал следующий синтаксис, но безуспешно:

if [ "\(#" == 0 -o "\)#" > 1 ] ; then echo "hello" fi

if [ "\(#" == 0 ] || [ "\)#" > 1 ] ; then echo...