![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] использование && и || при готовом true или false |
|
PowerShell - [решено] использование && и || при готовом true или false
|
Ветеран Сообщения: 992 |
Такс, кто мне объяснит за пошик у меня мозг слегка подвисать начал от того во что я уперся:
есть такой фрагмент на баше ~ /bin/true && echo "result: OK" || echo "result: KO" result: OK ~ /bin/false && echo "result: OK" || echo "result: KO" result: KO с этим всё путём, так и ожидалось. а теперь втф? начал глубже копаться, добавил в вывод $? дык оказывается $? возвращает true и при $true, и при $false $true 2>&1>$null && Write-Host "result: OK ($?)" || Write-Host "result: KO ($?)" result: OK (True) $false 2>&1>$null && Write-Host "result: OK ($?)" || Write-Host "result: KO ($?)" result: OK (True) фрагменты, разумеется, до крайности упрощенные, на самом деле там многоэтажная конструкция (или многопайповая?) результатом которой является либо "true" либо "false", но не в виде "$?", а просто сами по себе. разумеется я это всё дело заменил if, но как и зачем оно так работает таки интересно. |
|
Отправлено: 13:57, 13-05-2021 |
Ветеран Сообщения: 1759
|
Цитата Elven:
|
|
Отправлено: 10:36, 14-05-2021 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 10:42, 14-05-2021 | #12 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать YuS_2, не тот кусок кода скопировал, мой косяк.
Цитата Foreigner:
вроде как не содержит ошибки (точнее содержит, но превращает ее все равно в true), т.о. в catch вываливать не должно, но вываливается. |
|
Отправлено: 10:44, 14-05-2021 | #13 |
Ветеран Сообщения: 1759
|
Цитата Elven:
|
|
Отправлено: 11:03, 14-05-2021 | #14 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Foreigner:
возвращает True и в catch не вываливается? |
|
Отправлено: 11:09, 14-05-2021 | #15 |
Ветеран Сообщения: 1759
|
Цитата Elven:
|
|
Отправлено: 11:17, 14-05-2021 | #16 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Не объясняет поведения try-catch. Разумеется если дергать стоп при ошибке, то так оно и будет, но вопрос не в том как заставить пош делать так как нужно, а понять как же он вообще работает в данном случае, при находящемся $ErrorActionPreference в дефолтном Continue.
|
Отправлено: 11:25, 14-05-2021 | #17 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата Elven:
И кстати, именно этот момент описали в документации, я же ссылку выше приводил именно по этому поводу. Прерывающее исключение, прекращает работу операторов && и ||, т.е. завершает их работу и выдает результат только самого исключения. Цитата Elven:
То бишь, чтобы всё было в одинаковых условиях, должно быть так: |
||
------- Последний раз редактировалось YuS_2, 14-05-2021 в 11:38. Причина: дополнение Отправлено: 11:26, 14-05-2021 | #18 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать ок, если уровнять обе строки посредством $ErrorActionPreference = 'Stop', значит вроде как они рАвно должны отработать и при $ErrorActionPreference = 'Continue'.
|
Отправлено: 11:59, 14-05-2021 | #19 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата Elven:
|
|
------- Отправлено: 12:17, 14-05-2021 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PCI\VEN_10DE&DEV_006A&SUBSYS_1B311019&REV_A1 | Вика_Керимова@vk | Поиск драйверов, прошивок и руководств | 3 | 11-04-2014 11:02 | |
USB\VID_04F2&PID_B1E5&REV_2069&MI_00 перевёрнута вебка | Марианна! | Хочу все знать | 1 | 28-03-2013 22:14 | |
Драйвер - PCI\VEN_1095&DEV_3132&SUBSYS_71321095&REV_01\4&662654C&0&00E0 | kalion-kill | Поиск драйверов, прошивок и руководств | 1 | 08-11-2009 16:45 | |
WinXP & Win2K & Net & Inet проблема!! Help! | SDL2000 | Сетевые технологии | 5 | 19-10-2003 22:29 |
|