【发布时间】:2021-06-11 21:50:00
【问题描述】:
尝试编写一个 bash 脚本以根据主题 ID 将大量文件从外部驱动器复制到单独的目录中。
我已经包含了我在下面编写的脚本。
我收到以下错误:
cat: /Volumes/Seagate: No such file or directory
cat: Backup: No such file or directory
cat: Plus: No such file or directory
cat: Drive/Subject_List.txt: No such file or directory
当我尝试使用终端一次复制一个文件时,它会使用我在此脚本中输入的确切命令进行复制。我不确定为什么当我尝试在下面的脚本中使用它时它无法识别目录。非常感谢任何帮助!
#!/bin/bash
#A bash script to copy the structural and functional files into the HCP_Entropy folder
#subject list
SUBJECT_LIST="/Volumes/Seagate/Backup/Plus/Drive/Subject_List.txt
for j in $(cat ${SUBJECT_LIST}); do
echo ${j}
cp /Volumes/Seagate\ Backup\ Plus\ Drive/HCP_DATA/Structural/{j}/unprocessed/3T/T1w_MPR1/${j}_3T_T1w_MPR1.nii.gz /Users/myname/Box/HCP_Entropy/BEN/${j}/anat
done
【问题讨论】:
-
每当你有参数,比如这些文件名,其中有空格,你需要在它们周围加上引号。现有答案指出,对于脚本的一部分,您报告的额外错误属于同一类型:在您使用变量的任何地方,确保它们在双引号内。