Публикации по теме 'shell'
Комментарии к скриптам 📜
Если вы пишете сценарии и хотите добавить комментарии между аргументами команды, этот пост может оказаться вам полезным! 😉
На работе я пишу много скриптов для автоматизации команд , таких как Dockerfile , GitLab CI , или просто группы команд для конкретной задачи. . В свои сценарии я люблю добавлять много комментариев , чтобы указать, что делает команда или почему . Иногда я даже добавляю комментарии между его аргументами , так как некоторые из них могут быть непонятны. 🥴..
Что такое лс? что такое подстановочные знаки? и больше
Команда ls — одна из наиболее часто используемых команд в Linux. Я считаю, что команда ls — это первая команда, которую вы можете использовать при входе в командную строку Linux.
Мы используем команду ls ежедневно, даже не замечая высокой частоты использования этой команды, тем не менее, мы никогда не исследовали весь потенциал ее параметров и различных возможностей использования, поэтому мы возьмем «ls *.c» в качестве предмета изучения для этой статьи.
Итак, начнем с команды ls —..
Что происходит, когда вы набираете ls -l в командной строке ?
Что происходит, когда вы набираете ls -l в оболочке?
ls -l на поверхности:
Одна из первых команд, представленных во многих языках программирования, «ls».
это короткая аббревиатура для списка файлов в текущем рабочем каталоге. Ввод и передача уникального « ls » в CLI отображает файлы в чистом формате. Голый формат не показывает много информации.
Чтобы отобразить больше информации о файлах, «ls» можно комбинировать с несколькими параметрами для отображения..
Часть 2: Что *на самом деле* происходит, когда вы запускаете ls-l (или любую другую команду в оболочке)?
Недавно я завершил проект по созданию реализации оболочки с полным пониманием процесса, который легко перенести на любого, кто хочет узнать, как работает реальная оболочка. Вы должны иметь возможность получать ввод от пользователя в каком-то цикле, который постоянно ожидает пользователя, анализировать текст на наличие токенов и выполнять команды, ища их в пути. Фундаментальная идея оболочки заключается в получении текста от пользователя и объединении его с системными вызовами для вывода..
Вопросы по теме 'shell'
Как перенаправить все stderr в bash?
Я ищу способ перенаправить все потоки stderr в интерактивном bash (в идеале на вызывающий родительский процесс).
Я не хочу перенаправлять поток stderr из каждой отдельной команды, что я мог бы сделать, добавив 2> a_file к каждой команде.
По...
19556 просмотров
schedule
11.06.2022
Как избежать вызовов os.system()?
При использовании os.system() часто необходимо экранировать имена файлов и другие аргументы, передаваемые в качестве параметров командам. Как я могу это сделать? Предпочтительно что-то, что будет работать на нескольких операционных...
101461 просмотров
schedule
25.03.2022
Как использовать канал в параметре exec для команды поиска?
Я пытаюсь создать команду find для обработки группы файлов в каталоге с использованием двух разных исполняемых файлов. К сожалению, -exec при поиске не позволяет использовать канал или даже \| , потому что оболочка сначала интерпретирует этот...
45790 просмотров
schedule
12.12.2022
Установка переменных среды в Linux с помощью Bash
В tcsh у меня работает следующий скрипт:
#!/bin/tcsh
setenv X_ROOT /some/specified/path
setenv XDB ${X_ROOT}/db
setenv PATH ${X_ROOT}/bin:${PATH}
xrun -d xdb1 -i $1 > $2
Что эквивалентно функции tcsh setenv в Bash?
Есть...
198987 просмотров
schedule
24.04.2022
Как получить последние строки файла кроме первых 20?
Скажем, у меня есть файл с любым количеством строк, скажем, 125. Я хочу получить все строки, кроме первых n, скажем, 20. Итак, мне нужны строки 21–125.
Есть ли способ сделать это с помощью _1 _ / _ 2_ или другого инструмента?
23582 просмотров
schedule
22.10.2023
Как избежать состояния гонки при использовании файла блокировки, чтобы избежать одновременного запуска двух экземпляров скрипта?
Типичный подход, позволяющий избежать одновременного запуска двух экземпляров одного и того же скрипта, выглядит следующим образом:
[ -f ".lock" ] && exit 1
touch .lock
# do something
rm .lock
Есть ли лучший способ заблокировать файлы...
8506 просмотров
schedule
21.03.2022
Как заставить автозавершение bash работать с псевдонимами?
Дело в точке:
Я использую Mac с bash v3.2.17, я использую git, установленный через macports, с вариантом bash_completion.
Когда я набираю git checkout m<tab> . например, я завершил его до master .
Однако у меня есть псевдонимы git...
33074 просмотров
schedule
06.12.2022
Преобразование десятичного числа в шестнадцатеричное в сценарии оболочки UNIX
Что я могу использовать в сценарии оболочки UNIX для преобразования десятичных чисел в шестнадцатеричные? Я думал, что od сделает трюк, но он не понимает, что я кормлю его ASCII-представлениями чисел.
printf? Валовой! Используете это сейчас, но...
202813 просмотров
schedule
09.05.2024
Есть ли веские причины не использовать '#!/bin/make -f' в начале make-файла для получения исполняемого make-файла?
В основном для развлечения я создал makefile в моем каталоге $HOME/bin с именем rebuild.mk и сделал его исполняемым, и первые строки файла гласили:
#!/bin/make -f
#
# Comments on what the makefile is for
...
all: ${SCRIPTS} ${LINKS} ......
889 просмотров
schedule
11.10.2023
Cron Job — команда для ежедневного удаления всех файлов .flv
У меня есть эта команда, которую я запускаю каждый день через cron:
find /home/get/public_html/videos -daystart -maxdepth 0
-mtime +1 -type f -name "*.flv" |xargs rm -f
Проблема в том, что он не удаляет файлы .flv в каталоге, которым 1 или...
1419 просмотров
schedule
29.03.2024
Как я могу убить сразу все оболочки в Unix?
Мой Mac со временем становится медленнее. Причина в том, что у меня огромное количество ракушек, таких как Bashes и Fishes. У каждой оболочки свой PID. Убивать снаряды один за другим слишком сложно. Как я могу убить их сразу?
4125 просмотров
schedule
03.08.2023
Сценарий Bash/DOS/PowerShell для отображения самых последних версий файлов?
У нас есть список (скажем, 50) отчетов, которые сбрасываются в разные папки в зависимости от определенных условий. Все отчеты имеют стандартные имена, например. Д099К.ЛИС, Д18А0.ЛИС и т.д.
Иногда отчет может находиться в пяти разных местах, и мне...
6265 просмотров
schedule
11.07.2022
Добавить несколько файлов в терминал bash/osx
Я хотел бы добавить некоторый текст к нескольким файлам в bash, я нашел этот пост, посвященный добавлению: Добавлять к файлу одну линейную оболочку?
И я могу найти все файлы, которые мне нужно обработать, используя find:
find ./ -name...
5640 просмотров
schedule
09.11.2022
Добавление шебанга не вызывает такой ошибки файла или каталога при запуске моего скрипта python
Я пытаюсь запустить скрипт Python. Он отлично работает, когда я запускаю его:
python2.5 myscript.py inpt0
Проблема начинается, когда я добавляю shebang:
#!/usr/bin/env python2.5
Результат в:
$ myscript.py inpt0
: No such file or...
8630 просмотров
schedule
05.07.2023
Как избежать левого скобки в регулярном выражении Perl?
Если у меня есть файл, содержащий некоторые экранированные скобки, как я могу заменить все экземпляры неэкранированной скобкой с помощью Perl?
то есть поверните это:
.... foo\(bar ....
в это
.... foo(bar ....
Я пробовал следующее,...
941 просмотров
schedule
26.07.2022
Запоминание состояний терминала в OS X (например, Fluid для оболочки)
Каждый раз, когда я занимаюсь разработкой, в терминале у меня открывается несколько разных вещей: ведение журнала, консоль Ruby, обычная оболочка в определенном каталоге и так далее.
Как мне:
запустить все эти вещи сразу, надеюсь, в правильном...
1065 просмотров
schedule
23.09.2023
Ассоциативные массивы в сценариях оболочки
Нам нужен сценарий, который имитирует ассоциативные массивы или структуру данных типа Map для сценариев оболочки, любое тело?
206696 просмотров
schedule
02.06.2023
Лучший способ выбрать случайный файл из каталога в сценарии оболочки
Как лучше всего выбрать случайный файл из каталога в сценарии оболочки?
Вот мое решение в Bash, но мне было бы очень интересно получить более переносимую (не-GNU) версию для использования в собственно Unix.
dir='some/directory'
file=`/bin/ls -1...
45774 просмотров
schedule
28.07.2022
Как вставить новую строку перед шаблоном?
Как вставить новую строку перед шаблоном внутри строки?
Например, это вставит новую строку после шаблона регулярного выражения.
sed 's/regex/&\n/g'
Как сделать то же самое, но перед шаблоном?
Учитывая этот образец входного...
288840 просмотров
schedule
24.03.2023
Использование локальных настроек через SSH
Возможно ли, чтобы сеанс SSH использовал все ваши локальные файлы конфигурации (.bash_profile, .vimrc и т. д.) при входе в систему? Таким образом, у вас будет такая же конфигурация, скажем, для редактирования файлов в vim в удаленном сеансе.
7944 просмотров
schedule
28.07.2022