簡體   English   中英

Linux bash腳本符號鏈接帶空格

[英]Linux bash script symlink with spaces

我正在嘗試制作一個腳本,該腳本將查找給定硬盤中的所有文件夾和文件。 然后我想使符號鏈接到另一個文件夾。 但是,如果文件夾或文件包含空格,則ln命令失敗,有人可以幫助我修改ln -sf $ MOVIE_FILE_LINKS -t $ MOVIES_LIB命令以使帶有空格的文件夾正常工作嗎? 謝謝

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

您可以嘗試使用find-exec操作:

find $MOVIE_DIRS -maxdepth 1 -type d -exec ln -sf -t $MOVIES_LIB {} +
find $MOVIE_DIRS -maxdepth 1 -type f -name "*.*" -exec ln -sf -t $MOVIES_LIB {} +

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM