ฉันพยายามทำบางสิ่งเช่น
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"