Баш псевдоніми, еквівалентні повноваженням?


12

За замовчуванням в моєму Windows PowerShell запускається C:\Users\Santosh, установка XAMPP працює, D:\тому папка htdocs знаходиться за адресою D:\xampp\htdocs. Якщо мені доведеться щось відредагувати у папці htdocs, тоді я маю набрати повноцінне cd D:\xampp\htdocs\ (автозавершення не так люб'язно), а потім відредагуйте цей файл.

Якби ця PowerShell була Bash, я б це зробив у файлі .bash_aliases:

alias htdocs='cd D:\xampp\htdocs'

Чи можливо підтримувати псевдоніми Bash, такі як файл і псевдонім, будь-яку команду в PowerShell?

Відповіді:


12

Ви хочете, щоб набір псевдонімів поєднувався зі сценарієм або функцією оболонки. Тож відкрийте редактор і напишіть:

set-location d:\xampp\htdocs

і збережіть цей файл, наприклад, у c: \ Users \ kumar \ htdocs32.ps1, або ви можете створити функцію на зразок цієї.

function htdocs32 { set-location d:\xampp\htdocs }

для виконання скриптів потрібно встановити політику виконання, що дозволяє сценарії локально. відкрийте командний рядок повноважень як адміністратор та введіть:

set-executionpolicy remotesigned

тепер ви можете встановити псевдонім для скрипта повноважень:

set-alias htdocs c:\Users\kumar\htdocs32.ps1

і введення htdocs тепер додасть вас у вашу папку htdocs

Powershell використовує сполучення дієслова-іменника для іменування так званих командлетів. Дієслово посилається на те, що ви хочете зробити, і на іменник з тим, що ви хочете щось зробити.

Щоб отримати довідку про команду set-alias, яку ви хочете використовувати:

get-help set-alias -full  |more 

і ні там не менше. іншим методом буде читання цього http://technet.microsoft.com/en-us/library/ee176958.aspx

Також для початку з оболонки живлення я рекомендую ознайомитись з цією URL-адресою: http://www.powershellpro.com/powershell-tutorial-introduction/

Щоб назавжди зберегти псевдонім, його потрібно зберегти у профілі користувачів. спочатку перевірити, чи вже існує профіль, використовуючи:

PS C:\> $profile

якщо ви отримуєте помилку, ви можете створити новий профіль, ввівши:

 New-Item -path $profile -type file -force

тепер ви можете редагувати файл

c:\Users\kumar\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

і ввести у функцію definiton та псевдонім. як описано вище.

однак встановлювати псевдонім для цього в Linux не потрібно. sicne існує змінна $ CDPATH для середовища bash, яку можна встановити в ~ / .bahsrc.


Чи є файл, де зберігаються ці псевдоніми? Було б дуже корисно, якби я створив резервну копію.
Сантош Кумар

Початок Cannot resolve alias 'htdocs' because it refers to term 'cd D:\xampp\htdocs', which is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.роботиset-alias htdocs "cd D:\xampp\htdocs"
Сантош Кумар

гаразд, краще написати ckdlet. відкрийте текстовий редактор і напишіть: set-location c: \ xampp \ htdocs і збережіть цей файл як htdocs32.ps1. припускаючи, що htdocs32.ps1 був збережений у c: \ Users \ kumar \ htdocs32.ps1, ви можете використовувати псевдонім htdocs c: \ Users \ kumars \ htdocs32.ps1. переконайтеся, що ви встановили політику виконання.
l1zard

@SantoshKumar Для вашого рішення потрібен прапор '/ d', щоб змінити DRIVE, а потім каталог || "cd / d D: \ xampp \ htdocs"
Едді Б

2

Насправді ви можете спробувати це, він створить модуль, завантажений автоматично.

У розділі C: \ Користувачі \ kumar \ Документи \ WindowsPowerShell \

Створіть нову модуль папки, якщо її немає.

PS C:\>mkdir Modules

У розділі Модулі створюйте виклик папки, наприклад: "Quicky"

PS C:\>mkdir Quicky

Створіть файл під назвою "quicky.psm1", .psm1 - це розширення для Модулів.

Відредагуйте файл і додайте цей рядок.

function htdocs32 { set-location d:\xampp\htdocs }

Збережіть модуль.

Потім просто викликайте функцію "htdocs32"

PS C:\>htdocs32

0

якщо у вас є не надто обмежена політика виконання скриптів повноважень, ви можете просто виконати сценарій для цього. Пам’ятайте, на відміну від BASH, сценарій Windows може впливати на оболонку після завершення, тому вам не потрібен псевдонім або еквівалент функції bash.

htdocs.ps1 (поставте це десь на вашому PATH, я б сам перейшов з cdhtdocs.ps1 , але це ваша умовна умова іменування)

chdir "d:\xampp\htdocs"

Примітка: це також допоможе змінити накопичувачі, якщо потрібно. тобто буде працювати, якби ви були з c: \ temp \ для початку.

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