Unix & Linux

36
Ошибка синтаксиса Bash, когда «else» следует за пустым предложением «then»

Почему следующий скрипт не выполняется, но выдает синтаксическую ошибку else: LOGS3_DIR=~/logs if [ -d "$LOGS3_DIR" ]; then cd cd "$LOGS3_DIR" echo "$LOGS3_DIR" for filename in `find "." -mtime 1 -type f` do if lsof "$filename" > /dev/null then # file is open else echo "deleting $filename" rm...

36
Как автоматически подключить USB-устройство во время подключения к уже работающей системе?

Я знаю, как использовать /etc/fstabдля автоматического монтирования устройств при загрузке или при выполнении sudo mount -a, что прекрасно работает. Например, вот моя текущая строка для моего устройства UUID=B864-497A /media/usbstick vfat defaults,users,noatime,nodiratime,umask=000 0 0 Как добиться...

36
Корректная файловая система SD-карты для встроенного Linux?

Недавно у нас была довольно неприятная ситуация с нашим клиентом - «киоск» на основе Raspberry Pi, используемый для отображения данных дистанционного зондирования (ничего более необычного, чем браузер в режиме киоска, отображающий самообновляющуюся веб-страницу с сервера сбора данных), не...

36
Как мне изменить цвет разделительных линий панели в tmux?

Я использовал следующую команду, чтобы изменить цвет строки состояния в нижней части экрана: set -g status-bg colour244 Но я не знаю, как изменить цвет линий, которые разделяют панели; в настоящее время они представляют собой смесь оригинального зеленого и серого (color244). man tmuxдает мне много...

36
Эквивалент update-grub для систем RHEL / Fedora / CentOS?

В Ubuntu (и, наверное, в Debian) есть системный скрипт с именем, update-grubкоторый автоматически выполняется grub-mkconfig -oс правильным путем для файла конфигурации grub. Есть ли подобная команда для дистрибутивов Red Hat? Если нет, как система узнает, где находится файл конфигурации grub для...

36
Почему «хвост-ф ... | хвост »не в состоянии произвести какой-либо вывод?

Почему следующая команда не выдает никаких результатов? $ tail -f /etc/passwd | tail Прочитав о буферизации , я попробовал следующее безрезультатно: $ tail -f /etc/passwd | stdbuf -oL tail Обратите внимание, что следующее действительно производит вывод: $ tail /etc/passwd | tail Так же это: $ tail...

36
Как использовать аргументы команды с Cmnd_Alias ​​в sudoers?

Как указать аргументы команды в sudoers? В качестве фона, awsкоманда на самом деле является шлюзом для целой группы подсистем, и я хочу ограничить пользователя только для запускаaws s3 cp ...any other args... Когда я попробую следующее в /etc/sudoers Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws s3 cp,...

36
Использовать расширение .sh или .bash для скриптов bash?

(См. Использование #! / Bin / sh или #! / Bin / bash для совместимости с Ubuntu-OSX и простоты использования и POSIX ) Если я хочу, чтобы в моих сценариях использовалась оболочка bash, действительно ли расширение .bash вызывает bash или это зависит от конфигурации системы / 1-й строки shebang. Если...

36
$ @ кроме 1-го аргумента

Мне нужно написать сценарий оболочки, который работает следующим образом: ./myscript arg1 arg2_1 arg2_2 arg2_3 ....... arg2_# внутри скрипта есть цикл for for i in $@ Однако, как я знаю, $ @ включает в себя от $ 1 до $ ($ # - 1). Но для моей программы $ 1 заметно отличается от $ 2 $ 3 $ 4 и т. Д. Я...

36
Как сделать так, чтобы tr знал не-ascii (юникод) символы?

Я пытаюсь удалить некоторые символы из файла (UTF-8). Я использую trдля этого: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat Файл содержит несколько иностранных символов (например, «Латвийская» или «àé»). trкажется, не понимает их: он рассматривает их как не-альфа и удаляет тоже. Я попытался...

36
Почему директивы #include и #includedir в sudo имеют префикс pound (#)

При настройке sudoсреды я заметил, что директива include имеет префикс pound (#). Солярис показывает это как: ## Read drop-in files from /etc/sudoers.d ## (the '#' here does not indicate a comment) #includedir /etc/sudoers.d В руководстве (как для Linux, так и для Solaris) говорится: Включение...

36
Это UUOC (бесполезное использование cat) для перенаправления одного файла в другой?

Если я хочу, чтобы содержимое file2совпадало с содержимым file1, я мог бы просто запустить cp file1 file2. Однако, если я хочу , чтобы сохранить все о file2 кроме Содержанию-владельца, права доступа, расширенные атрибуты, списки управления доступом, жесткие ссылки и т.д., и т.д., то я не хотел бы...

36
Vi тихо добавляет новую строку (LF) в конце файла?

У меня проблемы с пониманием странного поведения: vi, кажется, добавляет новую строку (ASCII: LF, так как это система Unix ( AIX )) в конце файла, когда я НЕ специально его печатал. Я редактирую файл как таковой в vi (стараясь не вводить новую строку в конце): # vi foo ## Which I will finish on the...

36
Как масштабировать оконный менеджер i3 для моего дисплея HiDPI?

У меня Dell XPS 13 9343 2015 с разрешением 3200x1800 пикселей. Я пытаюсь использовать диспетчер окон i3 на нем, но все крошечные и трудно читаемые. Мне удалось масштабировать каждое приложение (firefox, терминал и т. Д.), Используя .Xresources: ! Fonts {{{ Xft.antialias: true Xft.hinting: true...

36
Как разделить аудиофайл на несколько?

Я нашел что-то для видео, которое выглядит следующим образом. ffmpeg -i * -c:v libx264 -crf 22 -map 0 -segment_time 1 -g 1 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*9)" -f segment output%03d.mp4 Я попытался использовать это для аудиофайла, но только первый аудиофайл содержал реальное...

36
Удаление миллиардов файлов из каталога, а также наблюдение за прогрессом

У меня есть каталог на 30 ТБ, содержащий миллиарды файлов, которые формально являются файлами JPEG. Я удаляю каждую папку файлов следующим образом: sudo rm -rf bolands-mills-mhcptz Эта команда просто запускается и ничего не показывает, работает она или нет. Я хочу видеть, как это удаление файлов...

36
Как конвейеры ограничивают использование памяти?

Брайан Керниган объясняет в этом видео, что ранние исследования Bell Labs по отношению к небольшим языкам / программам основаны на ограничении памяти Большая машина была бы 64 кбайт - K, а не M или G - и это означало, что любая отдельная программа не могла быть очень большой, и поэтому существовала...

36
Должны ли мы использовать символы UTF-8, такие как ⏰ в скрипте bash / shell?

Простой код здесь работает, как и ожидалось, на моей машине, если запущен с bash: function ⏰(){ date } ⏰ Может ли быть проблема для других людей, использующих это, или это универсально? Мне интересно, потому что я никогда не видел ничего подобного в другом исходном коде. Изменить: Есть...

36
Почему открытие файла происходит быстрее, чем чтение содержимого переменной?

В bashскрипте мне нужны различные значения из /proc/файлов. До сих пор у меня есть десятки строк, которые напрямую копируют файлы: grep -oP '^MemFree: *\K[0-9]+' /proc/meminfo Чтобы сделать это более эффективным, я сохранил содержимое файла в переменной и добавил следующее: a=$(</proc/meminfo)...

35
Измерьте пропускную способность трубы в оболочке

Существует команда оболочки, которая позволяет вам измерять скорость прохождения данных, поэтому вы можете измерить скорость вывода команд в канале. Так что вместо: $ somecommand | anothercommand Вы можете сделать что-то вроде: $ somecommand | ??? | anothercommand И пропускная статистика (байт /...