ฉันพยายามทำบางสิ่งเช่น
alias ftp='echo do not use ftp. Use sftp instead.'
เพียงเพื่อที่ftpจะไม่ถูกใช้โดยไม่ได้ตั้งใจ แต่ฉันสังเกตเห็นว่า
ftp abcd.com
จะทำให้คำสั่งดังก้อง
do not use ftp. Use sftp instead. abcd.com
เพราะจะนำไปเป็นข้อโต้แย้งสำหรับabcd.comecho
มีวิธีที่จะทำให้ Bash ไม่ได้เพิ่มabcd.comการทดแทนหรือechoไม่ใช้มันเป็นอาร์กิวเมนต์พิเศษหรือไม่? (มีวิธีแก้ปัญหาสำหรับแต่ละวิธีหรือไม่)
ฉันคิดว่าฉันสามารถทำได้
alias ftp='sftp'
ftpแต่ฉันเพียงแค่ต้องการให้หยุดคำสั่งทั้งหมดเข้าด้วยกันเพื่อเตือนตัวเองไม่ให้ใช้
echoไปยังsftpนามแฝง? alias ftp='echo "Do not use ftp"; sftp'กล่าวคือ sftpคุณจะได้รับการแจ้งเตือนในขณะที่ยังถูกบังคับให้ใช้
ftp
ftpในวิธีที่แตกต่างกัน แต่ถ้าคุณต้องการที่จะทำ - ใช้printfแทนecho:printf "Do not use ftp. Use sftp instead.\n\c"