gpt4 book ai didi

arrays - 在 shell 脚本中连接数组以创建备份文件路径

转载 作者:太空宇宙 更新时间:2023-11-04 09:19:56 26 4
gpt4 key购买 nike

我正在尝试在系统升级前创建一个简单的备份脚本。

我想要一个文件路径数组(BACKUP_DIRS),然后将其连接到另一个变量(SOURCE_DIRS)中,该变量将用于使用 tar 进行备份

我很难将数组连接到一个间隔开的变量中。

#!/bin/bash

BACKUP_DIRS=(
~/.ssh/
~/workspace/
~/Downloads/
)

# Concat paths
SOURCE_DIRS=''
for DIR in "${BACKUP_DIRS[@]}"
do
$SOURCE_DIRS = $SOURCE_DIRS' '$DIR
done

# Backup
tar -czf backup.tar.gz $SOURCE_DIRS

最佳答案

为什么要创建一个字符串 SOURCE_DIRS 而你可以直接使用

tar -czf backup.tar.gz "${BACKUP_DIRS[@]}"

数组版本扩展为 /my/first entry, /the/second entry, ... 其中一个字符串版本会被解释为/my/first, entry, /the/second, entry, .. .。因此,对于其中包含空格的路径,您的旧方法可能无法像预期的那样工作。

关于arrays - 在 shell 脚本中连接数组以创建备份文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43034537/

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