Bash alias setara dengan PowerShell?

11

Secara default, Windows PowerShell saya mulai C:\Users\Santosh, instalasi XAMPP saya berada di D:\folder htdocs berada di D:\xampp\htdocs. Jika saya harus mengedit sesuatu di folder htdocs maka saya harus mengetik penuh cd D:\xampp\htdocs\ (pelengkapan otomatis tidak begitu baik) kemudian edit file itu.

Jika PowerShell ini adalah Bash saya akan melakukan ini di file .bash_aliases:

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

Apakah mungkin untuk mempertahankan alias Bash seperti file dan alias perintah apa pun di PowerShell?

Santosh Kumar
sumber

Jawaban:

12

Anda ingin perintah -alias set di coombination dengan skrip powershell atau fungsi. Jadi buka editor dan tulis:

set-location d:\xampp\htdocs

dan simpan file ini misalnya ke c: \ Users \ kumar \ htdocs32.ps1 atau Anda dapat membuat fungsi seperti ini.

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

untuk mengeksekusi skrip, Anda harus menetapkan kebijakan eksekusi yang mengizinkan skrip secara lokal. buka baris perintah powershell sebagai administrator dan ketik:

set-executionpolicy remotesigned

sekarang Anda dapat menetapkan alias untuk skrip powershell:

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

dan mengetik htdocs sekarang akan memasukkan Anda ke folder htdocs Anda

Powershell menggunakan kombinasi kata kerja-nomina untuk penamaan cmdlet yang disebut. Kata kerjanya mengacu pada apa yang ingin Anda lakukan dan kata benda dengan apa yang ingin Anda lakukan sesuatu.

Untuk mendapatkan bantuan untuk perintah set-alias yang ingin Anda gunakan:

get-help set-alias -full  |more 

dan tidak ada yang tidak kurang. metode lain akan membaca http://technet.microsoft.com/en-us/library/ee176958.aspx ini

Juga untuk memulai dengan shell daya saya sarankan Anda untuk melihat url ini: http://www.powershellpro.com/powershell-tutorial-introduction/

Untuk menyimpan alias secara permanen, Anda harus menyimpannya di profil pengguna Anda. tes pertama apakah Profil sudah ada di tempat menggunakan:

PS C:\> $profile

jika Anda salah Anda dapat membuat profil baru dengan mengetik:

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

sekarang Anda dapat mengedit file

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

dan masukkan fungsi definiton dan alias. seperti dijelaskan di atas.

Namun pengaturan alias untuk ini di linux tidak diperlukan. sicne ada environmentvariable $ CDPATH untuk bash yang bisa diset di ~ / .bahsrc.

lzard
sumber
Apakah ada file di mana alias ini disimpan? Akan sangat bermanfaat jika saya mencadangkannya.
Santosh Kumar
Sedang 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.melakukanset-alias htdocs "cd D:\xampp\htdocs"
Santosh Kumar
ok kamu lebih baik menulis ckdlet. buka texteditor dan tulis: set-locaation c: \ xampp \ htdocs dan simpan file ini sebagai htdocs32.ps1. dengan asumsi htdocs32.ps1 disimpan di c: \ Users \ kumar \ htdocs32.ps1 Anda dapat menggunakan set-alias htdocs c: \ Users \ kumars \ htdocs32.ps1. pastikan Anda telah menetapkan kebijakan eksekusi Anda dengan benar.
l1zard
@SantoshKumar Solusi Anda memerlukan tanda '/ d' untuk mengubah DRIVE lalu direktori || "cd / d D: \ xampp \ htdocs"
Eddie B
2

Sebenarnya Anda bisa mencoba ini, itu akan membuat modul dimuat secara otomatis.

Di bawah C: \ Users \ kumar \ Documents \ WindowsPowerShell \

Buat folder baru Modul, jika tidak ada.

PS C:\>mkdir Modules

Di bawah Modul, buat folder panggilan ex: "Quicky"

PS C:\>mkdir Quicky

Buat file bernama "quicky.psm1", .psm1 adalah ekstensi untuk Modul.

Edit file dan tambahkan baris itu.

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

Simpan modul.

Maka cukup panggil fungsi "htdocs32"

PS C:\>htdocs32
DavidRG
sumber
0

jika Anda memiliki kebijakan eksekusi skrip powershell yang tidak terlalu dibatasi, Anda bisa menggunakan skrip untuk melakukannya. Ingat, tidak seperti BASH, skrip Windows dapat memengaruhi shell Anda setelah selesai sehingga Anda tidak memerlukan alias atau fungsi bash yang setara.

htdocs.ps1 (letakkan ini di suatu tempat di PATH Anda, saya akan pergi dengan cdhtdocs.ps1 sendiri, tetapi ini adalah konvensi penamaan Anda)

chdir "d:\xampp\htdocs"

Catatan: ini juga akan berfungsi untuk mengubah drive seperti yang diminta. yaitu akan bekerja jika Anda berada di c: \ temp \ untuk memulai.

JL Peyret
sumber