эквивалент псевдонимов bash для powershell?

12

По умолчанию запускается мой Windows PowerShell C:\Users\Santosh, моя установка XAMPP находится в D:\папке htdocs D:\xampp\htdocs. Если мне нужно что-то отредактировать в папке htdocs, тогда я должен набрать full cd D:\xampp\htdocs\ (автозаполнение не очень хорошее ), а затем отредактировать этот файл.

Если бы этот PowerShell был Bash, я сделал бы это в файле .bash_aliases:

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

Можно ли поддерживать псевдонимы Bash, такие как file и alias, любой командой в PowerShell?

Сантош Кумар
источник

Ответы:

12

Вы хотите, чтобы команда set-alias сочеталась со скриптом powershell или функцией. Итак, откройте редактор и напишите:

set-location d:\xampp\htdocs

и сохраните этот файл, например, в c: \ Users \ kumar \ htdocs32.ps1 или вы можете создать такую ​​функцию.

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

Для выполнения сценариев вы должны установить политику выполнения, разрешающую использование сценариев локально. откройте командную строку powershell от имени администратора и введите:

set-executionpolicy remotesigned

Теперь вы можете установить псевдоним для сценария powershell:

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

Также, чтобы начать с Power Shell, я рекомендую вам взглянуть на этот URL: http://www.powershellpro.com/powershell-tutorial-introduction/

Чтобы сохранить псевдоним постоянно, вы должны сохранить его в своем профиле пользователя. сначала проверьте, существует ли профиль, используя:

PS C:\> $profile

если вы получили false, вы можете создать новый профиль, набрав:

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

теперь вы можете редактировать файл

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

и вставьте в определение функции и псевдоним. как описано выше.

однако установка псевдонима для этого в linux не является обязательной. sicne есть переменная окружения $ CDPATH для bash, которую можно установить в ~ / .bahsrc.

l1zard
источник
Есть ли файл, где хранятся эти псевдонимы? Было бы очень полезно, если я сделаю резервную копию.
Сантош Кумар
Продолжая 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-locaation c: \ xampp \ htdocs и сохраните этот файл как htdocs32.ps1. предполагая, что htdocs32.ps1 был сохранен в c: \ Users \ kumar \ htdocs32.ps1, вы можете использовать set-alias htdocs c: \ Users \ kumars \ htdocs32.ps1. убедитесь, что вы правильно установили свою политику исполнения.
1
@SantoshKumar Ваше решение требует флаг '/ d' для изменения DRIVE, а затем каталога || "cd / d D: \ xampp \ htdocs"
Эдди Б
2

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

В C: \ Users \ kumar \ Documents \ WindowsPowerShell \

Создайте новую папку Modules, если она не существует.

PS C:\>mkdir Modules

Под Модулями создайте папку call ex: "Quicky"

PS C:\>mkdir Quicky

Создайте файл с именем «quicky.psm1», .psm1 - это расширение для модулей.

Отредактируйте файл и добавьте эту строку.

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

Сохраните модуль.

Затем просто вызовите функцию "htdocs32"

PS C:\>htdocs32
DavidRG
источник
0

если у вас есть не слишком ограниченная политика выполнения сценариев PowerShell, вы можете просто выполнить сценарий для этого. Помните, что в отличие от BASH, сценарий Windows может повлиять на вашу оболочку после завершения, поэтому вам не нужен псевдоним или эквивалент функции bash.

htdocs.ps1 (поместите это где-нибудь в свой PATH, я бы сам пошел с cdhtdocs.ps1 , но это ваше соглашение об именах)

chdir "d:\xampp\htdocs"

Примечание: это также будет работать для замены дисков. т.е. это будет работать, если вы находитесь в c: \ temp \ для начала.

JL Peyret
источник