ปรับเปลี่ยน prompt ของ PowerShell ใน Windows 10
ปัญหาของผมเวลาใช้ 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 ใหม่ หน้าตาและข้อมูลที่เราอยากได้แล้ว … #มูลค่าความสุข