我正在編寫一個腳本,其中有一個用於輸出數據的默認目錄,或者用戶可以指定一個目錄。問題是,我不知道如何做到這一點雄辯。以下是我有:刪除額外的斜槓(如果存在的話)
#!/bin/bash
OUTPUT="$1"
DEFAULT_DIR=/Default/Dir/For/Me
if [ -z "$OUTPUT" ]
then
OUTPUT=.${DEFAULT_DIR}
else
OUTPUT=""${OUTPUT_DIR}""${DEFAULT_DIR}""
fi
echo "$OUTPUT"
如果我這樣做
./script /
我得到//Default/Dir/For/Me
如果我這樣做
./script /home
我得到/home/Default/Dir/For/Me
如果我這樣做
./script /home/
我得到/home//Default/Dir/For/Me
有什麼辦法可以讓這個漂亮,並正確處理第一個場景?顯然,第一種情況將不起作用,因爲目錄//
不存在。
這有幫助嗎? http://stackoverflow.com/questions/4638983/remove-unnecessary-slashes-from-a-given-path-with-bash – trojanfoe
@trojanfoe是的,這是非常有幫助的。 –
如何用'tr -s「/」'管道它?它會刪除重複的斜線。 – fedorqui