Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 Re: Bash - очень сложный язык
mihaild в сообщении #1721334 писал(а):
Да что уж мелочиться, сразу выдавать inode number, а все данные извлекать дальше map-ом.
Вот что-то такое и хотелось бы. Как раз в духе того, о чем я писал на первой странице этой темы.

mihaild в сообщении #1721334 писал(а):
В общем пользоваться всеми ключами вас никто не заставляет, можете спокойно писать в 3 раза более длинный код из примитивов.
Да, мне именно это и надо. Вся проблема - что примитивов нету. Где, например, тот же map взять? Её же нету в /bin утилитах. Или сортировку, которая принимала бы первым аргументом способ сортировки.

 Re: Bash - очень сложный язык
Аватара пользователя
EminentVictorians в сообщении #1721337 писал(а):
Вот что-то такое и хотелось бы
Вам шашечки или ехать? Писать однострочники по месту так будет крайне неудобно.

(Оффтоп)

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

EminentVictorians в сообщении #1721337 писал(а):
Где, например, тот же map взять?
xargs
EminentVictorians в сообщении #1721337 писал(а):
Или сортировку, которая принимала бы первым аргументом способ сортировки
sort с разными ключами
Задача "посортировать с произвольной функцией сравнения" действительно просто не решается. Вообще, возникновения необходимости в функциях - сильный признак, что задача уже становится слишком сложной для шелла, и пора использовать язык более общего назначения.

 Re: Bash - очень сложный язык
mihaild в сообщении #1721341 писал(а):
Писать однострочники по месту так будет крайне неудобно.
Я понимаю. Поэтому я готов, например, к 10кратному увеличению объема кода (но x10 это наверное максимум; x20 или x30 уже неприемлемо). Потому что иначе у меня вообще выбора нет. Осилить bash (с утилитами) у меня толку не хватит, это я наверняка могу сказать.
mihaild в сообщении #1721341 писал(а):
xargs
Попробую. Но выглядит сложно.

(Оффтоп)

mihaild в сообщении #1721341 писал(а):
Вам шашечки или ехать?
У меня без шашечек не едется, в этом беда...
mihaild в сообщении #1721341 писал(а):
Я не считаю это чем-то плохим, просто не надо критиковать прикладные инструменты за выбор удобства в прикладных задачах в ущерб красивым концепциям.
Да бросьте, от того что какому-то ноунейму из интернета не понравился баш, миру ни тепло, ни холодно.

 Re: Bash - очень сложный язык
Надо было 5 страниц нафлудить...
Всё же элементарно.
Есть какая-то простая задача - делаешь небольшой скрипт в bash.
Не нравится сам bash - есть куча альтернатив (csh и прочее).
Есть сложная задача - выбирай инструмент по задаче.

Если так bash не нравится, почитайте про альтернативы, выберите, что больше подходит под ваши задачи (про характер задач в этой теме нигде не рассказывалось).

 Re: Bash - очень сложный язык
mihaild в сообщении #1721341 писал(а):
Вообще, возникновения необходимости в функциях - сильный признак, что задача уже становится слишком сложной для шелла, и пора использовать язык более общего назначения.
Я подумал, а может быть существуют просто библиотеки для общего языка (питона например), чтобы можно было то же самое все делать, что и через баш? Я помучил чатжпт, он говорит, что да, какие-то библиотеки есть (psutil например). Я посмотрел документацию, там просто функции типа psutil.cpu_times(), psutil.virtual_memory() и т.д. Просто функции, как я и хотел с самого начала.

Я понять не могу, получается, что можно всё администрирование делать вообще без баша и без /bin утилит? Чисто через питоновские библиотеки?


zykov в сообщении #1721369 писал(а):
(про характер задач в этой теме нигде не рассказывалось).
Обычные задачи системного администрирования: работа с файлами и каталогами (удаление, перемещение, копирование), монтирование файловых систем, работа с процессами, перечисление, удаление, смена приоритетов, работа с пользователями и группами, сетью, бэкапы, диски, разделы и т.д.

 Re: Bash - очень сложный язык
За многие годы много чего понапридумывали, для большего удобства.

Тут главное в переносимости.
Если надо только для себя, то можно использовать что угодно.
Если нужна переносимость, то нужен "sh" (а не "bash").

Цитата:
sh (Shell) в Linux — это командный интерпретатор (оболочка), выполняющий команды из текстового файла (.sh) или консоли. Это стандарт POSIX, обеспечивающий переносимость сценариев между системами. Часто используется для автоматизации, а современные системы используют bash или dash в качестве интерпретатора, скрывающегося за /bin/sh.
sh — базовая, легкая оболочка (часто dash в Debian/Ubuntu), в то время как bash — более функциональная, но не всегда POSIX-совместимая.

 Re: Bash - очень сложный язык
Аватара пользователя
EminentVictorians в сообщении #1721376 писал(а):
Я понять не могу, получается, что можно всё администрирование делать вообще без баша и без /bin утилит? Чисто через питоновские библиотеки?
Можно вообще все необходимые системные вызовы на ассемблере делать. Но крайне неудобно.
EminentVictorians в сообщении #1721376 писал(а):
Я подумал, а может быть существуют просто библиотеки для общего языка (питона например), чтобы можно было то же самое все делать, что и через баш?
Да, из питона можно звать exec.

 Re: Bash - очень сложный язык
EminentVictorians в сообщении #1721376 писал(а):
Я понять не могу, получается, что можно всё администрирование делать вообще без баша и без /bin утилит? Чисто через питоновские библиотеки?

Если вы готовы запускать ваши скрипты с административными правами и уверены, что "питоновские библиотеки" делают что вам надо, учитывают конкретный дистрибутив и т.п., а не например rm -rf ./* то конечно можно. Помолившись :)

 Re: Bash - очень сложный язык
Аватара пользователя
Вот бы освоить системное администрирование из Матлаба.
Вроде оттуда тоже можно какие-то системные утилиты вызывать.

 Re: Bash - очень сложный язык
Dan B-Yallay в сообщении #1721423 писал(а):
Вроде оттуда тоже можно какие-то системные утилиты вызывать.

Тут речь же не о том чтобы их вызывать, а о том, чтобы их заменить на единообразные, понятные, с типизацией и прочим.

 Re: Bash - очень сложный язык
wrest в сообщении #1721424 писал(а):
Тут речь же не о том чтобы их вызывать, а о том, чтобы их заменить на единообразные, понятные, с типизацией и прочим.

У Микрософта такое получилось в их Powershell'е или нет?

 Re: Bash - очень сложный язык
Аватара пользователя
wrest в сообщении #1721424 писал(а):
чтобы их заменить на единообразные

Это как? Все в виде параллелепипеда и зеленые?
Для меня так и существующие единообразные. На вход принимают текст, на выход выдают текст.
Обалденно.
Ключи стандартизировать под разные утилиты? Так у них же разные занятия.
В общем, тс хочет странного.

 Re: Bash - очень сложный язык
peg59 в сообщении #1721436 писал(а):
Для меня так и существующие единообразные.

Так то для вас. А для ТС EminentVictorians -- unix way не очень зашёл. :D

-- 02.04.2026, 17:15 --

peg59 в сообщении #1721436 писал(а):
Это как? Все в виде параллелепипеда и зеленые?

Ну как-то так:
EminentVictorians в сообщении #1720223 писал(а):
То есть надо, мне, допустим, взять первые 5 элементов из списка [e1, e2, e3, e4, e5, e6, e7], я и напишу что-то типа take 5 [e1, e2, e3, e4, e5, e6, e7]. Другими словами, я думал, что в моем распоряжении будет много легоньких функций типа take, которые я буду применять к аргументам, брать их композиции и т.д.

EminentVictorians в сообщении #1720229 писал(а):
какое-нибудь типизированное лямбда исчисление под капотом, а весь язык - просто надстройка над этим очень простым фундаментом
ну и далее там ещё примеры как надо было бы

-- 02.04.2026, 17:18 --

Andrey Lukyanov в сообщении #1721429 писал(а):
У Микрософта такое получилось в их Powershell'е или нет?

Не знаю, как-то активно не приходилось пользоваться. Мой опыт с ним это копипаст готовых команд, найденных по форумам, ну и написанные ИИ скрипты.

 Re: Bash - очень сложный язык
Аватара пользователя
wrest в сообщении #1721438 писал(а):
Так то для вас. А для ТС EminentVictorians -- unix way не очень зашёл. :D

Я так вижу, что EminentVictorians - программист программист. Как-то попал в юникс. И хочет, чтобы всё было как в его любимом языке программирования.
Когда у тебя в руках молоток, всё вокруг становится похожим на гвозди.
Непонятно только, почему юникс?
EminentVictorians, берите ваш любимый язык и пишите универсальный шелл программиста. Может быть, он понравится не только вам. Но очень сомнительно. Привычки и традиции не преодолеть. Посмотрите хоть на наш крайне неудобный календарь, которому давным-давно предложены удобные-преудобные альтернативы. Да где там!

 Re: Bash - очень сложный язык
peg59 в сообщении #1721451 писал(а):
Непонятно только, почему юникс?

Потому что
EminentVictorians в сообщении #1720216 писал(а):
я пользовался виндовз, но с ней у меня были одни сплошные проблемы: постоянно надо искать какие-то программы на торрентах, какие-то патчи, таблетки, на любой чих нужна специальная программа, все проприетарное, куча вирусов, какие-то обновления возникающие непонятно откуда и непонятно когда.

 [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group