Bash Aliase gleichbedeutend mit Powershell?

11

Standardmäßig startet meine Windows PowerShell in C:\Users\Santosh, meine XAMPP-Installation befindet sich in, D:\sodass sich der Ordner htdocs unter befindet D:\xampp\htdocs. Wenn ich etwas im Ordner htdocs bearbeiten muss, muss ich full eingeben cd D:\xampp\htdocs\ (die automatische Vervollständigung ist nicht so nett) und dann diese Datei bearbeiten.

Wenn diese PowerShell eine Bash wäre, würde ich dies in der Datei .bash_aliases tun:

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

Ist es möglich, Bash-Aliase wie file und alias in PowerShell zu verwalten?

Santosh Kumar
quelle

Antworten:

12

Sie möchten, dass der Befehl set-alias mit einem Powershell-Skript oder einer Funktion kombiniert wird. Öffne also einen Editor und schreibe:

set-location d:\xampp\htdocs

und speichern Sie diese Datei zum Beispiel unter c: \ Users \ kumar \ htdocs32.ps1 oder erstellen Sie eine solche Funktion.

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

Um Skripte auszuführen, müssen Sie die Ausführungsrichtlinie festlegen, die Skripte lokal zulässt. Öffnen Sie die Powershell-Befehlszeile als Administrator und geben Sie Folgendes ein:

set-executionpolicy remotesigned

Jetzt können Sie einen Alias ​​für das Powershell-Skript festlegen:

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

Wenn Sie jetzt htdocs eingeben, werden Sie in Ihren htdocs-Ordner aufgenommen

Powershell verwendet eine Verb-Nomen- Kombination zur Benennung von sogenannten Cmdlets. Das Verb bezieht sich auf das, was Sie tun möchten und das Substantiv mit dem, was Sie tun möchten.

So rufen Sie die Hilfe für den gewünschten Set-Alias-Befehl ab:

get-help set-alias -full  |more 

und nein, es gibt nicht weniger. Die andere Methode wäre das Lesen dieser http://technet.microsoft.com/en-us/library/ee176958.aspx

Um mit Power Shell zu beginnen, empfehle ich Ihnen, sich diese URL anzusehen: http://www.powershellpro.com/powershell-tutorial-introduction/

Um den Alias ​​dauerhaft zu speichern, müssen Sie ihn in Ihrem Benutzerprofil speichern. Testen Sie zunächst, ob bereits ein Profil vorhanden ist. Verwenden Sie dazu:

PS C:\> $profile

Wenn Sie falsch werden , können Sie ein neues Profil erstellen, indem Sie Folgendes eingeben:

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

Jetzt können Sie die Datei bearbeiten

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

und geben Sie die Funktion definiton und einen Alias ​​ein. wie oben beschrieben.

in linux ist es jedoch nicht nötig, einen alias dafür zu setzen. Es gibt eine Umgebungsvariable $ CDPATH für bash, die in ~ / .bahsrc gesetzt werden kann.

l1zard
quelle
Gibt es eine Datei, in der diese Aliase gespeichert sind? Es wäre von großem Nutzen, wenn ich es sichern würde.
Santosh Kumar
Immer 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.auf dem Tunset-alias htdocs "cd D:\xampp\htdocs"
Santosh Kumar
ok du schreibst besser ein ckdlet. öffne einen Texteditor und schreibe: set-locaation c: \ xampp \ htdocs und speichere diese Datei als htdocs32.ps1. Unter der Annahme, dass htdocs32.ps1 in c: \ Users \ kumar \ htdocs32.ps1 gespeichert wurde, können Sie den Set-Alias ​​htdocs c: \ Users \ kumars \ htdocs32.ps1 verwenden. Stellen Sie sicher, dass Sie Ihre Ausführungsrichtlinie korrekt festgelegt haben.
11.
@SantoshKumar Für Ihre Lösung ist das Flag '/ d' erforderlich, um DRIVE und dann das Verzeichnis || zu ändern "cd / d D: \ xampp \ htdocs"
Eddie B
2

Eigentlich könnten Sie dies versuchen, es wird ein Modul automatisch geladen.

Unter C: \ Users \ kumar \ Documents \ WindowsPowerShell \

Erstellen Sie einen neuen Ordner Module, falls nicht vorhanden.

PS C:\>mkdir Modules

Erstellen Sie unter Module einen Ordner mit dem Namen "Quicky".

PS C:\>mkdir Quicky

Erstellen Sie eine Datei mit dem Namen "quicky.psm1" .psm1 ist die Erweiterung für Module.

Bearbeiten Sie die Datei und fügen Sie diese Zeile hinzu.

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

Speichern Sie das Modul.

Dann rufen Sie einfach die Funktion "htdocs32" auf

PS C:\>htdocs32
DavidRG
quelle
0

Wenn Sie über eine nicht allzu eingeschränkte Ausführungsrichtlinie für Powershell-Skripte verfügen, können Sie nur ein Skript verwenden. Denken Sie daran, im Gegensatz zu BASH, ein Windows - Skript kann die Shell nach Abschluss beeinflussen , so dass Sie nicht brauchen eine Alias oder bash Funktion äquivalent.

htdocs.ps1 ( Schreibe dies irgendwo in deinen PATH, ich würde selbst mit cdhtdocs.ps1 gehen, aber es ist deine Namenskonvention)

chdir "d:\xampp\htdocs"

Hinweis: Diese wird funktionieren Laufwerke zu ändern , wie auch erforderlich. dh es würde funktionieren, wenn Sie in c: \ temp \ wären , um mit zu beginnen.

JL Peyret
quelle