2013-03-22 93 views
4

我一直在Capistrano腳本中遇到問題,或者實際上是導致腳本失敗的bash命令。我一直在從腳本得到錯誤說:字符串中奇怪的空格字符,那不是空格?

沒有這樣的文件或目錄

所以這裏的腳本位。

run "sudo ln -s #{shared_path}/readme.txt  #{shared_path}/readme-symlink.txt" 

經過仔細檢查,發現readme.txt和readme-symlink.txt位之間有兩個空格。偶然發現一個是空間,另一個只是一個奇怪的角色,看起來像一個空間,但事實並非如此。下面是它看起來像在崇高的文本,用於顯示空白:

weird whitespace character

注意一下,在上面的圖片中,只有一個readme.txt文件後點,然後又是「空間

所以這裏是我的問題,這個字符究竟是什麼,我只是很困惑如何通過在普通的鍵盤上打字來設法獲得它?

+1

這絕對是一個空間,根據你粘貼'echo -n「t#」| hexdump'。 – alex 2013-03-22 08:06:14

+0

@alex你是對的,它是一個空間,看到我的答案,這是打破劇本的空間類型...;) – 2013-03-22 08:20:57

+0

當你將它粘貼到題。 – alex 2013-03-22 08:22:45

回答

4

所以我粘貼的字符串是http://www.asciivalue.com/index.php,第二個空格的ASCII值是160.根據http://www.ascii-code.com/這是一個空格,但它是一個非破空間,我相信這個命令行不是太高興關於。

enter image description here

卸下NBSP修正我的劇本,我可以再去繼續我的生活。

我只是難以理解創建該文件的人如何在第一時間獲得了一個nbsp。

+0

足夠有趣的是,Capistrano腳本文件是LITTERED,出現了正常空格,之後是非空白空格。 WTH! – 2013-03-22 08:22:50

+0

把任何字符放在一個字符串中是微不足道的。它不需要在用戶的鍵盤上存在(它們可以複製和粘貼,也可以使用字符代碼)。 – alex 2013-03-22 08:23:45

+0

很可能,該腳本是從網頁複製的。這裏解釋它的用法。 http://www.sightspecific.com/~mosh/www_faq/nbsp.html – akaya 2013-03-22 08:24:32