aliasy bash równoważne PowerShellowi?

12

Domyślnie uruchamia się moja Windows PowerShell C:\Users\Santosh, moja instalacja XAMPP jest w D:\folderze htdocs D:\xampp\htdocs. Jeśli muszę edytować coś w folderze htdocs, to muszę wpisać pełny cd D:\xampp\htdocs\ tekst (autouzupełnianie nie jest tak miłe), a następnie edytować ten plik.

Gdyby ten PowerShell był Bash, zrobiłbym to w pliku .bash_aliases:

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

Czy można zachować aliasy Bash, takie jak plik i alias, za pomocą dowolnego polecenia w programie PowerShell?

Santosh Kumar
źródło

Odpowiedzi:

12

Chcesz ustawić komendę set-alias w połączeniu ze skryptem PowerShell lub funkcją. Więc otwórz edytor i napisz:

set-location d:\xampp\htdocs

i zapisz ten plik na przykład w c: \ Users \ kumar \ htdocs32.ps1 lub możesz utworzyć taką funkcję.

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

aby wykonywać skrypty, musisz ustawić zasady wykonywania zezwalające na skrypty lokalnie. otwórz wiersz poleceń PowerShell jako administrator i wpisz:

set-executionpolicy remotesigned

teraz możesz ustawić alias dla skryptu PowerShell:

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

i wpisanie htdocs przeniesie Cię teraz do folderu htdocs

Program Powershell używa kombinacji czasownik-rzeczownik do nazywania tak zwanych poleceń cmdlet. Czasownik odnosi się do tego, co chcesz zrobić, a rzeczownik z tym, co chcesz zrobić.

Aby uzyskać pomoc dotyczącą polecenia set-alias, którego chcesz użyć:

get-help set-alias -full  |more 

i nie ma nie mniej. inną metodą byłoby przeczytanie tego http://technet.microsoft.com/en-us/library/ee176958.aspx

Również na początek z powłoką zasilania polecam zajrzeć na ten adres URL: http://www.powershellpro.com/powershell-tutorial-introduction/

Aby trwale zapisać alias, musisz zapisać go w swoim profilu użytkownika. najpierw sprawdź, czy Profil jest już na miejscu, używając:

PS C:\> $profile

jeśli staniesz się fałszywy , możesz utworzyć nowy profil, wpisując:

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

teraz możesz edytować plik

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

i wstaw definicję funkcji i alias. jak opisano powyżej.

jednak ustawienie aliasu w Linuksie nie jest konieczne. sicne istnieje zmienna środowiskowa $ CDPATH dla bash, którą można ustawić w ~ / .bahsrc.

IZard
źródło
Czy jest jakiś plik, w którym przechowywane są te aliasy? Byłoby to bardzo przydatne, jeśli utworzę kopię zapasową.
Santosh Kumar,
Pierwsze 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.robićset-alias htdocs "cd D:\xampp\htdocs"
Santosh Kumar
ok, lepiej napisz ckdlet. otwórz edytor tekstu i napisz: set-locaation c: \ xampp \ htdocs i zapisz ten plik jako htdocs32.ps1. zakładając, że plik htdocs32.ps1 został zapisany w folderze c: \ Users \ kumar \ htdocs32.ps1, możesz użyć zestawu alias htdocs c: \ Users \ kumars \ htdocs32.ps1. upewnij się, że ustawiłeś swoją politykę egzekucyjną akceptująco.
l1zard,
@SantoshKumar Twoje rozwiązanie wymaga flagi „/ d”, aby zmienić DRIVE, a następnie katalog || „cd / d D: \ xampp \ htdocs”
Eddie B
2

Właściwie możesz spróbować, spowoduje to utworzenie modułu ładowanego automatycznie.

W obszarze C: \ Users \ kumar \ Documents \ WindowsPowerShell \

Utwórz nowy folder Moduły, jeśli nie istnieją.

PS C:\>mkdir Modules

W obszarze Moduły utwórz wywołanie folderu np .: „Szybki”

PS C:\>mkdir Quicky

Utwórz plik o nazwie „quicky.psm1”, .psm1 to rozszerzenie modułów.

Edytuj plik i dodaj ten wiersz.

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

Zapisz moduł.

Następnie po prostu wywołaj funkcję „htdocs32”

PS C:\>htdocs32
DavidRG
źródło
0

jeśli masz niezbyt restrykcyjne zasady wykonywania skryptów PowerShell, możesz to zrobić tylko za pomocą skryptu. Pamiętaj, że w przeciwieństwie do BASH, skrypt systemu Windows może wpływać na twoją powłokę po zakończeniu, więc nie potrzebujesz aliasu ani równoważnej funkcji bash.

htdocs.ps1 (umieść to gdzieś na ŚCIEŻCE, sam bym poszedł z cdhtdocs.ps1 , ale to twoja konwencja nazewnictwa)

chdir "d:\xampp\htdocs"

Uwaga: to będzie działać na dyskach zmian wymaganych też. tzn. działałoby, gdybyś był w c: \ temp \ na początek.

JL Peyret
źródło