當我在終端(bash)的運行它回波打印出-e內部腳本
echo -e ."\c"
打印出.
並且抑制換行符。
當我運行下面的腳本(所有的代碼)
echo -e ."\c"
echo -e ."\c"
它打印出..
並抑制新行。
當我在shebang腳本中運行它時(!#/bin/sh
),它打印出-e . -e .
並禁止換行符。
爲什麼?我該如何預防呢?
編輯: 我想,以防止打印出-e
的,所以我的輸出應爲. .
當我在終端(bash)的運行它回波打印出-e內部腳本
echo -e ."\c"
打印出.
並且抑制換行符。
當我運行下面的腳本(所有的代碼)
echo -e ."\c"
echo -e ."\c"
它打印出..
並抑制新行。
當我在shebang腳本中運行它時(!#/bin/sh
),它打印出-e . -e .
並禁止換行符。
爲什麼?我該如何預防呢?
編輯: 我想,以防止打印出-e
的,所以我的輸出應爲. .
腳本家當改變#!/bin/bash
代替#!/bin/sh
,看看它是否工作
或者使用/ bin/echo如果你想保持shebang不變 – shuvalov 2010-02-15 17:42:12
更改/ bin/sh更安全,因爲如果在bash中使用了sh,那麼這些東西將不起作用。 – ghostdog74 2010-02-16 00:50:05
鑑於我使用sh編寫並測試了腳本,在使用bash時可能會發生什麼事情? (它現在沒有實際意義,因爲所有東西在改成bash之後都可以工作) – 2010-02-16 04:54:07
你需要給,如果你的家當行調用SH呼應的絕對路徑。或者只是改變shebang使用bash。
是你的家當行實際上'#!/ bin中/ echo'?在這種情況下,這可能是由於echo是內置的,shebanged文件實際執行的二進制文件不能解釋-e。 – falstro 2010-02-15 17:27:40
不,它的'#!/ bin/sh',還有-e標籤實際上可以工作,但它仍然會打印出來。 – 2010-02-15 17:28:12
只是在此澄清:您期望看到什麼結果,以及您試圖阻止哪部分? – 2010-02-15 17:28:19