我想製作一個腳本,它將查找給定硬盤中的所有文件夾和文件。然後我想將符號鏈接到另一個文件夾。然而,如果文件夾或文件包含空格,ln命令會失敗,有人可以幫助我修改ln -sf $ MOVIE_FILE_LINKS -t $ MOVIES_LIB命令以使文件夾具有空格功能嗎? 感謝Linux bash腳本與空格的符號鏈接
#! /bin/bash
# Version: 2017.02.21
SRC="/mnt/hdd_1.5T
/mnt/hdd_4T"
MOVIES_TEXT="Movies.*"
MOVIES_LIB="/mnt/Library.Movies/"
rm -rf $MOVIES_LIB #need more elegant solution
mkdir -p $MOVIES_LIB
clear
MOVIE_DIRS=$(find $SRC -maxdepth 1 -type d -name "$MOVIES_TEXT")
MOVIE_DIR_LINKS=$(find $MOVIE_DIRS -maxdepth 1 -type d | sort | awk '$0 !~ last "/" {print last} {last=$0} END {print last}')
MOVIE_FILE_LINKS=$(find $MOVIE_DIRS -maxdepth 1 -type f -name "*.*")
echo "$MOVIE_DIR_LINKS"
#ln -sf $MOVIE_LINKS $MOVIES_LIB;
echo "$MOVIE_FILE_LINKS"
#ln -sf $MOVIE_FILE_LINKS -t $MOVIES_LIB;
使用反斜線空白或把參數轉換爲雙引號。 – arkascha
雙引號不能以這種方式工作:ln -sf「」$ MOVIE_FILE_LINKS「」-t $ MOVIES_LIB; – DaeMonS
'ln -sf「$ MOVIE_FILE_LINKS」-t「$ MOVIES_LIB」'? –