bash alias equivalente per powershell?


12

Per impostazione predefinita, Windows PowerShell si avvia C:\Users\Santosh, l'installazione di XAMPP è attiva , D:\quindi la cartella htdocs si trova in D:\xampp\htdocs. Se devo modificare qualcosa nella cartella htdocs, devo digitare full cd D:\xampp\htdocs\ (il completamento automatico non è così gentile) quindi modificare quel file.

Se questo PowerShell fosse un Bash lo farei nel file .bash_aliases:

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

È possibile mantenere alias Bash come file e alias qualsiasi comando in PowerShell?

Risposte:


12

Volete il comando set-alias in combinazione con uno script PowerShell o una funzione. Quindi apri un editor e scrivi:

set-location d:\xampp\htdocs

e salva questo file ad esempio in c: \ Users \ kumar \ htdocs32.ps1 oppure puoi creare una funzione come questa.

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

per eseguire gli script è necessario impostare la politica di esecuzione che consente gli script localmente. aprire la riga di comando di PowerShell come amministratore e digitare:

set-executionpolicy remotesigned

ora puoi impostare un alias per lo script PowerShell:

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

e digitando htdocs ora ti verrà inserito nella cartella htdocs

Powershell sta usando una combinazione verbo-sostantivo per la denominazione dei cosiddetti cmdlet. Il verbo si riferisce a ciò che vuoi fare e al nome con ciò che vuoi fare.

Per ottenere assistenza per il comando set-alias che si desidera utilizzare:

get-help set-alias -full  |more 

e no non c'è niente di meno. l'altro metodo sarebbe leggere questo http://technet.microsoft.com/en-us/library/ee176958.aspx

Inoltre, per iniziare con Power Shell ti consiglio di dare un'occhiata a questo URL: http://www.powershellpro.com/powershell-tutorial-introduction/

Per salvare l'alias in modo permanente è necessario salvarlo nel profilo utente. prima prova se un profilo è già in atto usando:

PS C:\> $profile

se diventi falso puoi creare un nuovo profilo digitando:

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

ora puoi modificare il file

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

e mettere la funzione definiton e un alias. come descritto sopra.

tuttavia impostare un alias per questo in Linux non è necessario. sicne esiste un $ CDPATH variabile dall'ambiente per bash che può essere impostato in ~ / .bahsrc.


Esiste un file in cui sono memorizzati questi alias? Sarebbe di grande utilità se eseguissi il backup.
Santosh Kumar,

Continuando 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.a fareset-alias htdocs "cd D:\xampp\htdocs"
Santosh Kumar il

ok è meglio scrivere un ckdlet. apri un texteditor e scrivi: set-locaation c: \ xampp \ htdocs e salva questo file come htdocs32.ps1. supponendo che htdocs32.ps1 sia stato salvato in c: \ Users \ kumar \ htdocs32.ps1 è possibile utilizzare set-alias htdocs c: \ Users \ kumars \ htdocs32.ps1. assicurati di aver impostato i criteri di esecuzione in modo accattivante.
14

@SantoshKumar La tua soluzione richiede il flag '/ d' per cambiare DRIVE quindi la directory || "cd / d D: \ xampp \ htdocs"
Eddie B,

2

In realtà potresti provare questo, creerà un modulo caricato automaticamente.

In C: \ Users \ kumar \ Documents \ WindowsPowerShell \

Crea una nuova cartella Moduli, se non esistenti.

PS C:\>mkdir Modules

In Moduli crea una chiamata cartella es: "Quicky"

PS C:\>mkdir Quicky

Crea un file chiamato "quicky.psm1", .psm1 è l'estensione per i moduli.

Modifica il file e aggiungi quella riga.

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

Salva il modulo.

Quindi chiama semplicemente la funzione "htdocs32"

PS C:\>htdocs32

0

se si dispone di una politica di esecuzione degli script PowerShell non troppo limitata, è possibile solo uno script per farlo. Ricorda, a differenza di BASH, uno script di Windows può influire sulla shell dopo il completamento, quindi non hai bisogno di un alias o di una funzione bash equivalente.

htdocs.ps1 (mettilo da qualche parte nel tuo PERCORSO, andrei io stesso con cdhtdocs.ps1 , ma è la tua convenzione di denominazione)

chdir "d:\xampp\htdocs"

Nota: questo sarà lavoro per unità di cambiamento, come richiesto anche. cioè funzionerebbe se tu fossi in c: \ temp \ per cominciare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.