Як я можу отримати властивість об'єкта в shellhell без використання дужок?


13

Я часто виявляю, що мені потрібно оточити команду в круглих дужках, а потім використовувати оператор доступу до властивостей (крапка-синтаксис), щоб отримати значення властивості. Це досить дратує, оскільки мені доводиться повертатися до початку рядка, коли я просто продовжую набирати, де я є. Особливо прикро, коли я перебуваю в середині більшого набору команд з трубами.

Приклад

Якщо у мене є така команда

Get-PSProvider FileSystem

і я хочу отримати Drivesвластивість, я мав би спочатку оточити всю команду в дужках:

(Get-PSProvider FileSystem).Drives

Чи є більш швидкий спосіб отримати значення однієї властивості?

Відповіді:


14

Можна використовувати Select-Object -ExpandProperty <property name>. Це можна скоротити за допомогою псевдоніму selectта лише набравши частину назви властивості:

Get-PSProvider FileSystem| select -exp Drives

Додатковою перевагою цього методу є те, що ви можете отримати доступ до однієї властивості для кількох об’єктів.

Це нічого не поверне ( оновлення: це працює в PowerShell v3.):

(Get-PSProvider).Drives

Однак це поверне диски для всіх провайдерів:

Get-PSProvider| select -exp Drives

Дуже цікаво. Дякую за виправлення
soandos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.