ปรับเปลี่ยน prompt ของ PowerShell ใน Windows 10

Damrongsak Reetanon
2 min readNov 30, 2019

--

ปัญหาของผมเวลาใช้ PowerShell แล้ว prompt มันยาวมาก จนเวลาพิมพ์คำสั่ง มันจะต้องขึ้นบรรทัดใหม่ทุกคนครั้งแล้ว ซึ่งจริง ๆ แล้วก็ไม่ได้มีผลกระทบอะไรทางเทคนิค แต่ก็ขัดใจนิด ๆ รู้สึกขัดหูขัดตา แล้วก็ทำให้เหลือพื้นที่ให้ทำงานน้อยไปนิดเวลาที่ folder ยาว

จัดสิครับ รออะไร ก็ต้องออกแรง customize กันหน่อย เริ่มจากต้องเข้าใจก่อนว่า prompt ที่แสดงผลให้เราเห็นมาจากไหน … คำตอบก็คือ PowerShell Prompt ถูกกำหนดจาก build-in function ที่ชื่อว่า prompt ซึ่งอนุญาตให้เราเขียน function ชื่อ prompt เข้าไปแทนที่ได้ โดยหลักการง่าย ก็คือ อยากให้ prompt แสดงข้อความอย่างไร ก็ให้ใน function prompt แสดงผลออกมาอย่างนั้นเช่น ถ้าเราเขียน function prompt ให้แสดงข้อความว่า “VELA> “ เราก็จะได้ prompt หน้าตาอย่างนี้เช่นกัน

function prompt { 
Write-Host ("VELA") -NoNewLine
return "> "
}

ผลก็ได้ก็จะเป็นดังนี้

คราวนี้ก็มานั่งคิดดูว่า ผมอยากเห็นอะไรบน prompt บ้าง เวลา, hostname แล้วก็ current folder แค่นี้น่าจะโอเค ลองดูก่อน

ลุยกันต่อ ก็จะได้ function prompt หน้ามาประมาณนี้

function prompt {
Write-Host ($(Get-Date -format HH:mm:ss)) -NoNewLine `
-ForegroundColor DarkGray
Write-Host (" [$env:computername] " + `
$(Split-Path -Path $(Get-Location) -Leaf) +">") `
-NoNewLine -ForegroundColor DarkBlue
return " "
}

หน้าตา prompt ก็จะประมาณนี้

ประมาณนี้เราก็จะได้ prompt ใหม่ หน้าตาและข้อมูลที่เราอยากได้แล้ว … #มูลค่าความสุข

--

--

Damrongsak Reetanon
Damrongsak Reetanon

Written by Damrongsak Reetanon

OpenSource |Cloud Computing|Automation|DevOps

No responses yet