我正在使用下面的命令向udp偵聽服務器發送一些字符串。netcat新行問題
echo「A 192.168.192.168」| nc -u 192.168.2.1 1234
但服務器正在以回顯字符串結尾'\ n'。
我曾嘗試下面的命令太多,但未能
回聲 「A 192.168.192.168」 | nc -uC 192.168.2.1 1234
如何刪除尾隨的新行字符? 我在NC有什麼特別的選擇嗎?
我正在使用下面的命令向udp偵聽服務器發送一些字符串。netcat新行問題
echo「A 192.168.192.168」| nc -u 192.168.2.1 1234
但服務器正在以回顯字符串結尾'\ n'。
我曾嘗試下面的命令太多,但未能
回聲 「A 192.168.192.168」 | nc -uC 192.168.2.1 1234
如何刪除尾隨的新行字符? 我在NC有什麼特別的選擇嗎?
嘗試使用
echo -n
所以
echo -n "A 192.168.192.168" | nc -u 192.168.2.1 1234
echo man page說:-n do not output the trailing newline
親愛的levon thnx – JohnG
echo
通常提供-n
標誌。這不是標準。
字符串要寫入標準輸出的字符串。如果第一個操作數是-n,或者任何操作數包含反斜槓('\')char- acter,則結果是實現定義的。
在符合XSI標準的系統上,如果第一個操作數是-n,則它應被視爲字符串,而不是選項。
我會建議使用printf
printf "A 192.168.192.168" | nc -u 192.168.2.1 1234
printf
犯規追加一個新行,除非它被告知,這是標準的行爲。
我從來沒有聽說過echo的'-n'選項不標準,請您詳細說明一下嗎?我多年來使用的每個Linux/Unix系統都有這個功能。 – Levon
請參閱'man 1p echo'回聲的POSIX手冊頁。另外,通常調用的'echo'是shell內建的,而不是'/ bin/echo'下的實際可執行文件。例如,在_Bash_下面,看看'echo echo'提供了什麼迴應。 – c00kiemon5ter
剛剛在我的Linux系統上嘗試過'bash'下的'help echo',並且它給了'-n \t不添加換行符。現實地說,有人有可能遇到'echo -n' * not * working? – Levon
投票重新開放,因爲它看起來像是有價值的知識。 – lpapp