bash aliases equivalentes para o powershell?

10

Por padrão, meu Windows PowerShell é iniciado em C:\Users\Santosh , minha instalação do XAMPP está em D:\ , portanto a pasta htdocs está localizada em D:\xampp\htdocs . Se eu tiver que editar algo na pasta htdocs, então eu tenho que digitar cd D:\xampp\htdocs\ completo (autocompletion não é tão bom) e editar 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 de Bash como arquivo e alias em qualquer comando no PowerShell?

    
por Santosh Kumar 08.12.2012 / 17:46

3 respostas

11

Você deseja o comando set-alias em combinação com um script powershell ou uma função. 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 powershell:

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

e digitando o htdocs agora vão te colocar na sua pasta htdocs

O Powershell está usando uma combinação verbo-substantivo para a nomeação dos chamados cmdlets. O verbo se refere ao que você quer fazer e o substantivo com o que você quer fazer alguma coisa.

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

get-help set-alias -full  |more 

e não há nada menos. o outro método seria ler este link

Além disso, para começar com o power shell, eu recomendo que você dê uma olhada neste URL: link

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

PS C:\> $profile

se você obtiver false , 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 a função definiton e um alias. como descrito acima.

no entanto, não é necessário definir um alias para isso no linux. sicne existe um $ CDPATHvariable para o bash que pode ser configurado em ~ / .bahsrc.

    
por 08.12.2012 / 17:58
2

Na verdade, você poderia 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 existirem.

PS C:\>mkdir Modules

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

PS C:\>mkdir Quicky

Crie um arquivo chamado "quicky.psm1", o .psm1 é a extensão dos 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
    
por 21.10.2015 / 22:25
0

se você tiver uma política de execução de script de powershell não muito restrita, você pode apenas um script para fazer isso. 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 função bash equivalente.

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

chdir "d:\xampp\htdocs"

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

    
por 22.11.2016 / 22:28

Tags