gpt4 book ai didi

linux - 删除额外的前导斜杠(如果存在)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:40 25 4
gpt4 key购买 nike

我正在编写一个脚本,其中我有一个用于输出数据的默认目录,或者用户可以指定一个目录。问题是,我不知道如何 Eloquent 地做到这一点。这是我所拥有的:

#!/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

有什么方法可以使它变得漂亮并正确处理第一种情况吗?显然,第一种情况是行不通的,因为目录 // 不存在。

最佳答案

(只是为了从评论中说清楚)

我的建议是通过管道传输 tr -s "/" 以删除重复的斜线:

$ echo "/home//Default/Dir/For/Me" | tr -s "/"
/home/Default/Dir/For/Me
$ echo "/home//Default/Dir/For/M//////////e" | tr -s "/"
/home/Default/Dir/For/M/e

关于linux - 删除额外的前导斜杠(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17368362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com