【发布时间】:2013-06-28 15:29:40
【问题描述】:
我正在编写一个脚本,其中我有一个用于输出数据的默认目录,或者用户可以指定一个目录。问题是,我不知道如何雄辩地做到这一点。这是我所拥有的:
#!/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
有没有什么方法可以让这一切变得漂亮并正确处理第一个场景?显然,第一种情况不起作用,因为目录// 不存在。
【问题讨论】:
-
@trojanfoe 是的,这很有帮助。
-
用
tr -s "/"管它怎么样?它将删除重复的斜杠。 -
@fedorqui 这行得通!如此简单,如此优雅。谢谢!