相关疑难解决方法(0)

稳健地构建路径

假设我在 shell 脚本中有几个变量(例如在 zsh 中):

FOLDER_1, FOLDER_2, etc.
Run Code Online (Sandbox Code Playgroud)

这些变量指的是从/. 例如,如果我有一条路径/home/me/stuff/items

变量将是:

FOLDER_1='home'
FOLDER_2='me'
FOLDER_3='stuff'
Run Code Online (Sandbox Code Playgroud)

现在,假设我想通过连接变量来重建相应的路径。一种可能的方法是按如下方式构建路径:

PATH=$FOLDER_1/$FOLDER_2/$FOLDER_3/
Run Code Online (Sandbox Code Playgroud)

但是,假设某些变量FOLDER_i带有尾随正斜杠,而其他变量则没有(我们不知道是哪个),例如

FOLDER_1='home'
FOLDER_2='stuff/'
FOLDER_3='items'
Run Code Online (Sandbox Code Playgroud)

我的问题是:我如何才能稳健地构建路径?(例如避免双斜线,并在需要的地方添加它们)。

我认为一种方法是/在变量对之间添加always ,然后使用 删除任何重复项sed,但我无法使其工作(我不确定我/是否在 中正确处理sed)。

另外,我是在重新发明轮子吗?(即是否有任何内置功能已经做到了这一点?)。

最后,如果变量在一个数组中,例如FOLDERS,是否可以在不循环的情况下做到这一点?(或者,通过循环但不知道FOLDERS数组中有多少)。

shell-script

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

shell-script ×1