LINUX.ORG.RU

Ответ на: комментарий от Deleted

жирнато или нет, но из-за этого он начисто лишен удобства побыстрому кинуть автоматизирующий скрипт .ps1 в виртуалку и запустить. А раз такого удобства нет (шаг бутстрапа присутствует), а BAT убогое говнище, то нет никакой причины не использовать python, например.

Для каких-то административных виндовых нужд он может и имеет удобные ручки, но такое мне делать не довелось.

Deleted
()
Ответ на: комментарий от af5

Copy-Item $source $dest -Filter {PSIsContainer} -Recurse -Force

Ага, а вот теперь PS непонятный. 1) Что такое {PSIsContainer}? Почему не IsFolder? 2) Что нам даёт -Force? Ибо и без него всё работает

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от tiinn

Ага, а вот теперь PS непонятный

Get-Help Copy-Item -Detailed

Почему не IsFolder?

Потому что ты можешь этим командлетом копировать не только каталоги, а и кучу других объектов и контейнеров с объектами.
Ну и никто не мешает написать своих алиасов.

Что нам даёт -Force? Ибо и без него всё работает

Ну попробуй переписать read only файл, например.

Deleted
()
Ответ на: комментарий от tiinn

Ага, а вот теперь PS непонятный. 1) Что такое {PSIsContainer}?

На самом деле это просто копипаста, в фильтре должна быть строка-шаблон для файлов, эта копипаста ходит по интернетам хз откуда, но работает потому что шаблон не работает =)
А вообще PSIsContainer это метод проверки в старых версиях PS что это директория а не файл ну или еще какой контейнер
-Directory ключ недавно появился

af5 ★★★★★
()
Последнее исправление: af5 (всего исправлений: 2)

Ну в десятке он хотя бы что-то умеет (Powershell v6), а в более ранних версиях (даже которые в восьмерке и семерке идут из коробки) даже контрольную сумму файла быстро в два действия не посчитать, там надо городить какой-то объект через свойство какого-то другого объекта... и т.п. в общем писец (ладно вру, она как раз в два действия считается, и третьим еще выводится на экран. Но в виде кода получается довольно длинно - две строки символов по сорок). Ну как бы писать можно, но как в баше простых однострочных команд (типа контрольной суммы или еще чего) там почти нет.

А сам терминал убог, гномовский гораздо удобнее (в плане выделения текста и всякой копипасты).

Из реальных плюсов что оно вроде как с дотнетом умеет работать напрямую (но это не точно) и что он реально умеет в ООП.

А еще павершелл только в 6-й версии научился с симлинками работать (даже cmd.exe умеет блджад!), хотя пофиг, они на винде глючат (инфа сотка, приходилось огребать)

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 6)
Ответ на: комментарий от RiseOfDeath

но как в баше простых однострочных команд (типа контрольной суммы или еще чего) там почти нет.

Ты о чём? У тебя в PS md5sum не запускается чтоли?

af5 ★★★★★
()
Ответ на: комментарий от Deleted

Что нам даёт -Force? Ибо и без него всё работает

Ну попробуй переписать read only файл, например.

Так-то понятно, просто зачем оно в этом примере, когда делается копия.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Всем лень разбираться в деталях работы т.н. «провайдеров» поэтому на всякий случай тащат этот ключ из копипасты в копипасту

af5 ★★★★★
()
Ответ на: комментарий от af5

Павершелл все-таки не только на линуксах (Более того, я даже не знал что он на линуксах есть).

Встроенный однострочный md5 у него появился только в шестой верси, а использовать кроссплатформенный шелл в перемешку с платформозависимыми внешними приложениями не очень хорошее решение.

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 6)
Ответ на: комментарий от RiseOfDeath

причем тут повершел, это же просто бинарник, и к башу он тоже ни какого отношения не имеет

af5 ★★★★★
()
Ответ на: комментарий от RiseOfDeath

если ты про get-filehash - сейчас смотрю на него в 5 версии точно есть, вроде еще в 4 версии добавили его

af5 ★★★★★
()
Последнее исправление: af5 (всего исправлений: 1)

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

Yur4eg ★★
()
Ответ на: комментарий от af5

а что там не дурацкое?

Тёплый ламповый GOTO же!

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Нормальные там циклы :D во всяком случае для файловых операций хватает.

for /R %%f in ( *.txt) do (
	echo Find %%~nf
)

vtVitus ★★★★★
()
Ответ на: комментарий от RiseOfDeath

только на линуксах

md5sum.exe

внешними приложениями

но в линюксовых щелях это именно внешнее приложение

TheAnonymous ★★★★★
()
Ответ на: комментарий от grem

А вот использование bash без этих или аналогичных внешних утилит та ещё «фича».

Использовать клей для утилит без утилит?

ugoday ★★★★★
()

Повершел делали ушибленные на всю голову люди.

demrnd
()
Ответ на: комментарий от Deleted

Вместо {} подставляется имя директории из источника, в данном случае.

Да, ваш вариант проще. У меня был нагуглен find sourcedir -type d | cpio -pvdm targetdir

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Не работает. Не разворачивает всё дерево, только первый уровень вложенности.

помимо рекурсии надо было относительные пути получить:

cd $srcDir
Get-ChildItem ./ -Recurse -Directory |Resolve-Path -Relative |ForEach-Object {New-Item -ItemType Directory $dstDir/$_}

af5 ★★★★★
()
Последнее исправление: af5 (всего исправлений: 4)
Ответ на: комментарий от Evgueni

Первое, что должен уметь нуб ­— говорить man. В этом случае нужно сказать man всего дважды.

Да знаю я эту мантру. НО! Хорошая программа самодокументируема. Вот здесь

find sourcedir -type d -exec mkdir -p targetdir/«{}» \;

man почти не нужен. Хотя и непонятно, почему путь от корня берётся, абсолютный. И здесь

Copy-Item $source $dest -Filter {PSIsContainer} -Recurse

почти не нужен, всё очевидно.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Ну как бы она и документируется названиями своих команд. Первое создаёт список по найденным объектам, а второе по списку создаёт эти самые объекты. find — поиск, а cpio — архиватор/деархиватор. Другое дело эту самую задачу можно сделать уймой разных способов — я предпочитаю xargs в цепочке.

Evgueni ★★★★★
()

PowerShell за счёт интеграции с дотнетом позволяет сделать гораздо больше, чем bash. Но при этом область применения всех этих шеллов такова, что сравнение bash и powershell сводится к юзабельности, а bash гораздо юзабельнее. Итого powers hell в топку.

Quasar ★★★★★
()
Ответ на: комментарий от af5

Другими словами, ты сейчас продемонстрировал свою некомпетентность в шеллах.

Quasar ★★★★★
()
Ответ на: комментарий от Pyzia

Один конь и то за клавой!

Взоржалъ. Не удержался. =))

По сабжу: недавно начал курить этот ваш PS. Не знаю пока, как на икспишечку его водрузить.

Deleted
()

Я плохо знаком с PS, но уверен, что он достаточно мощный. Проблема в том, что MS и вообще все вендузятники просто не понимают смысла интерактивного шелла. А смысл его, ВНЕЗАПНО, в интерактивности, т.е. живом взаимодействии в режиме реального времени. Для этого нужны простые короткие команды, такие же аргументы, удобный интерактивный редактор, легкое сочленение вывода различных команд. ВотЭтиВещи совсем не катят для этого, даже если они и «мощнее» (что бы это не значило) как язык программирования.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от af5

ты о чем-то другом

Я о любви к икспишечке. =)) У меня на мой боевой ноут с икспишечкой на борту большие планы.

Некромант - могущественный маг

Корпорации не оставляют выхода. Или ты включаешь мозг, или страдаешь.

Deleted
()
Ответ на: комментарий от af5

плохой пример, там вместо {PSIsContainer} что угодно может быть

Согласен, потому я и написал, «почти»

tiinn ★★★★★
()
Ответ на: комментарий от Evgueni

Ну как бы она и документируется названиями своих команд. Первое создаёт список по найденным объектам, а второе по списку создаёт эти самые объекты. find — поиск, а cpio — архиватор/деархиватор. Другое дело эту самую задачу можно сделать уймой разных способов — я предпочитаю xargs в цепочке.

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

tiinn ★★★★★
()
Ответ на: комментарий от Quasar

Ты сам-то понял, что написал?

Ах, простите моё косноязычие. Нагуглить find sourcedir -type d | cpio -pvdm targetdir, скопировать и вставить в отдельный файл - как это правильно называется?

tiinn ★★★★★
()
Ответ на: комментарий от Deleted

По сабжу: недавно начал курить этот ваш PS. Не знаю пока, как на икспишечку его водрузить.

Я водружал. Там первая версия PS работает.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Это я ставил. Пишет, что уже установлено, но PS так и не появился. Походу что-то с системой не то.

Deleted
()
Ответ на: комментарий от Deleted

Походу, да. У меня ставился и работал.

tiinn ★★★★★
()

Достаточно, чтобы преобразовать нужный base64 код в исполняемый пейлоад внутри оперативки. А если серьезно, повершелл настолько мощно продемонстрировал абсолютную бездарность m$, что еще нагляднее было бы сложно что-то показать.

cheetah111v
()
Ответ на: комментарий от tiinn

cpio возник ещё тогда, когда Линуса не было даже в проекте. И эта программа жива до сих пор. Подумай, что возможно этому есть некоторые предпосылки.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

C возник ещё до того. И компиляторы его живы до сих пор. Предпосылки этому, разумеется, есть, но то, что там творится со строками и удобство создания пользовательских интерфейсов - увольте.

tiinn ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

ВотЭтиВещи совсем не катят для этого

Оно регистронезависимое.

IchBinFertig
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.