aliases do bash equivalentes ao powershell?

11

Por padrão, meu Windows PowerShell inicia C:\Users\Santosh, minha instalação do XAMPP está instalada e, D:\portanto, a pasta htdocs está localizada em D:\xampp\htdocs. Se eu tiver que editar algo na pasta htdocs, tenho que digitar full cd D:\xampp\htdocs\ (o preenchimento automático não é tão gentil) e edite esse arquivo.

Se este PowerShell fosse um Bash, eu faria isso no arquivo .bash_aliases:

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

É possível manter aliases do Bash, como arquivo e alias, qualquer comando no PowerShell?

Santosh Kumar
fonte

Respostas:

12

Você deseja que o comando set-alias seja combinado com um script ou uma função do PowerShell. Então abra um editor e escreva:

set-location d:\xampp\htdocs

e salve este arquivo, por exemplo, em c: \ Users \ kumar \ htdocs32.ps1 ou você pode criar uma função como esta.

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

Para executar scripts, você deve definir a política de execução permitindo scripts localmente. abra a linha de comando do powershell como administrador e digite:

set-executionpolicy remotesigned

agora você pode definir um alias para o script do PowerShell:

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

e digitar htdocs agora irá levá-lo à sua pasta htdocs

O Powershell está usando uma combinação verbo-substantivo para nomear os chamados cmdlets. O verbo é inverso ao que você quer fazer e o substantivo ao que você quer fazer alguma coisa.

Para obter ajuda para o comando set-alias que você deseja usar:

get-help set-alias -full  |more 

e não, não há menos. o outro método seria ler este http://technet.microsoft.com/en-us/library/ee176958.aspx

Também para começar com o power shell, recomendo que você dê uma olhada neste URL: http://www.powershellpro.com/powershell-tutorial-introduction/

Para salvar o alias permanentemente, salve-o no seu perfil de usuário. primeiro teste se um perfil já está em vigor usando:

PS C:\> $profile

se você estiver ficando falso, poderá criar um novo perfil digitando:

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

agora você pode editar o arquivo

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

e coloque na função definon e um alias. como descrito acima.

no entanto, definir um alias para isso no linux não é necessário. sicne, existe um $ CDPATH variável de ambiente para o bash, que pode ser definido em ~ / .bahsrc.

l1zard
fonte
Existe algum arquivo em que esses aliases estão armazenados? Seria de grande utilidade se eu fizer o backup.
Santosh Kumar
Começando 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 fazerset-alias htdocs "cd D:\xampp\htdocs"
Santosh Kumar
ok, é melhor você escrever um ckdlet. abra um editor de texto e escreva: set-locaation c: \ xampp \ htdocs e salve este arquivo como htdocs32.ps1. Supondo que htdocs32.ps1 foi salvo em c: \ Users \ kumar \ htdocs32.ps1, você pode usar o conjunto de alias htdocs c: \ Users \ kumars \ htdocs32.ps1. verifique se você definiu sua política de execução de acordo.
L1zard
@SantoshKumar Sua solução exige que o sinalizador '/ d' altere DRIVE e depois o diretório || "cd / d D: \ xampp \ htdocs"
Eddie B
2

Na verdade, você pode tentar isso, ele criará um módulo carregado automaticamente.

Em C: \ Usuários \ kumar \ Documents \ WindowsPowerShell \

Crie uma nova pasta Módulos, se não existir.

PS C:\>mkdir Modules

Em Módulos, crie uma chamada de pasta ex: "Quicky"

PS C:\>mkdir Quicky

Crie um arquivo chamado "quicky.psm1", .psm1 é a extensão para Módulos.

Edite o arquivo e adicione essa linha.

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

Salve o módulo.

Em seguida, basta chamar a função "htdocs32"

PS C:\>htdocs32
DavidRG
fonte
0

se você possui uma política de execução de script não muito restrita, pode usar apenas um script para fazê-lo. Lembre-se, ao contrário do BASH, um script do Windows pode afetar seu shell após a conclusão, para que você não precise de um alias ou de uma função bash equivalente.

htdocs.ps1 (coloque isso em algum lugar do seu PATH, eu mesmo usaria o cdhtdocs.ps1 , mas é sua convenção de nomenclatura)

chdir "d:\xampp\htdocs"

Nota: isso também funcionará para alterar as unidades, conforme necessário. ou seja, funcionaria se você estivesse em c: \ temp \ para começar.

JL Peyret
fonte