2015-12-01 166 views
0

我有我的NC命令在一個文本文件,a.txt中,如下:netcat的(NC)抱怨無效端口

/bin/nc -w 3 -zv 123.123.123.123 1195 

如果我跑:bash a.txt,有錯誤:nc: port number invalid: 1195。 但是,如果我複製nc命令,使用bash提示符運行它。該命令正在工作,沒有錯誤。 有什麼想法?謝謝。

操作系統:Ubuntu的14.04

+2

很可能你的文件與UNIX換行符('\ n')相比有DOS換行符('\ r \ n'),所以傳遞給'nc'的端口號實際上是'$'1195 \ r 「'。 –

+2

順便說一句,StackOverflow上的bash標籤告訴你在問問題之前檢查它;請參閱http://stackoverflow.com/tags/bash/info中的「詢問有問題的代碼之前的項目#1」 –

+0

如果您運行'bash -x a.txt',順便說一句,它會向您顯示它實際上的命令運行,這將消除所有懷疑。 –

回答

1

也許你的文件有DOS換行符(\r\n),而不是UNIX換行符(\n),因此被傳遞到nc端口號實際上是$'1195\r'。 - Charles Duffy