Bash脚本-进入目录的嵌套循环如何使符号链接从该目录退出并转到下一个目录并执行相同的操作?

Bash脚本-进入目录的嵌套循环如何使符号链接从该目录退出并转到下一个目录并执行相同的操作?,bash,path,Bash,Path,我是GNU/Linux用户,我使用了很多“Wine”和“PlayOnLinux”,但我更喜欢使用符号链接来移动“Windows”的“路径”,以便更轻松地备份程序数据 我写了以下脚本(有西班牙语变量名,因为我来自委内瑞拉,西班牙语是我的母语lang): 脚本内容: #!/usr/bin/env bash echo ' Autor ----------------> Inukaze ( Venezuela ) Sitio ----------------> Removed for ca

我是GNU/Linux用户,我使用了很多“Wine”和“PlayOnLinux”,但我更喜欢使用符号链接来移动“Windows”的“路径”,以便更轻松地备份程序数据

我写了以下脚本(有西班牙语变量名,因为我来自委内瑞拉,西班牙语是我的母语lang):

脚本内容:

#!/usr/bin/env bash

echo '
Autor ----------------> Inukaze ( Venezuela )
Sitio ----------------> Removed for can publish the question
Correo-E -------------> bloginukaze@gmail.com
Licencia -------------> GPL 2

******* Inicio : Acerca de este guión ******** 

    Es un simple guion para cambiar la
    Ubicacion de los directorios 
    predeterminados

******** Fin : Acerca de este guión **********'

Prefijo="$HOME/.wine"
Objetivo="drive_c/users/inukaze"
BaseDeEnlace="/media/Compartido/Videojuegos/Partidas/Wine/inukaze"

#Crear Carpetas para la BaseDeEnlace en caso de que no exista:
if test ! -d "$BaseDeEnlace/AppData"
then
    mkdir -p "$BaseDeEnlace/AppData" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Application Data"
then
    mkdir -p "$BaseDeEnlace/Application Data" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Cookies"
then
    mkdir -p "$BaseDeEnlace/Cookies" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Descargas"
then
    mkdir -p "$BaseDeEnlace/Descargas" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Documentos"
then
    mkdir -p "$BaseDeEnlace/Documentos" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Escritorio"
then
    mkdir -p "$BaseDeEnlace/Escritorio" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Imagenes"
then
    mkdir -p "$BaseDeEnlace/Imagenes" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Local Settings"
then
    mkdir -p "$BaseDeEnlace/Local Settings" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Musica"
then
    mkdir -p "$BaseDeEnlace/Musica" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Partidas"
then
    mkdir -p "$BaseDeEnlace/Partidas" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Plantillas"
then
    mkdir -p "$BaseDeEnlace/Plantillas" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Temp"
then
    mkdir -p "$BaseDeEnlace/Temp" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Videos"
then
    mkdir -p "$BaseDeEnlace/Videos" &> /dev/null
fi

#Borrar carpeta anterior :
rm -rf "$Prefijo/$Objetivo/AppData"
rm -rf "$Prefijo/$Objetivo/Application Data"
rm -rf "$Prefijo/$Objetivo/Cookies"
rm -rf "$Prefijo/$Objetivo/Descargas"
rm -rf "$Prefijo/$Objetivo/Documentos"
rm -rf "$Prefijo/$Objetivo/Escritorio"
rm -rf "$Prefijo/$Objetivo/Desktop"
rm -rf "$Prefijo/$Objetivo/Imagenes"
rm -rf "$Prefijo/$Objetivo/Local Settings"
rm -rf "$Prefijo/$Objetivo/Musica"
rm -rf "$Prefijo/$Objetivo/Saved Games"
rm -rf "$Prefijo/$Objetivo/Templates"
rm -rf "$Prefijo/$Objetivo/Temp"
rm -rf "$Prefijo/$Objetivo/Videos"
rm -rf "$Prefijo/$Objetivo/Mi música"
rm -rf "$Prefijo/$Objetivo/Mis Documentos"
rm -rf "$Prefijo/$Objetivo/My Documents"
rm -rf "$Prefijo/$Objetivo/Mis imágenes"
rm -rf "$Prefijo/$Objetivo/Mis vídeos"
rm -rf "$Prefijo/$Objetivo/Downloads"

# Crear Enlaces : 
for Directorio in $(find "$Prefijo" -mindepth 1 -maxdepth 1 -type d) ; do 
cd "$Directorio" && echo "Ingresando en $Directorio" || { echo "Error: No puedo entrar en $Directorio"; continue; }
    for Enlace in $(ln -sf "$BaseDeEnlace/AppData" "$Prefijo/$Objetivo/AppData" ; ln -sf "$BaseDeEnlace/Application Data" "$Prefijo/$Objetivo/Application Data" ; ln -sf "$BaseDeEnlace/Cookies" "$Prefijo/$Objetivo/Cookies" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Descargas" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/Documentos" ; ln -sf "$BaseDeEnlace/Escritorio"  "$Prefijo/$Objetivo/Escritorio" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Objetivo/Imagenes" ; ln -sf "$BaseDeEnlace/Local Settings" "$Prefijo/$Objetivo/Local Settings" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Objetivo/Musica" ; ln -sf "$BaseDeEnlace/Partidas" "$Prefijo/$Objetivo/Saved Games" ; ln -sf "$BaseDeEnlace/Plantillas" "$Prefijo/$Objetivo/Templates" ; ln -sf "$BaseDeEnlace/Temp" "$Prefijo/$Objetivo/Temp" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Objetivo/Videos" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Objetivo/Mi música" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/Mis Documentos" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Objetivo/Mis imágenes" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Objetivo/Mis vídeos" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Downloads" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Descargas" ; ln -sf "$BaseDeEnlace/Escritorio" "$Prefijo/$Objetivo/Desktop" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/My Documents")
    do
        echo ${Enlace}
    done
done

# Prefijo de "PlayOnLinux"
Prefijo="$HOME/.PlayOnLinux/wineprefix/"
Objetivo="drive_c/users/inukaze/"
BaseDeEnlace="/media/Compartido/Videojuegos/Partidas/Wine/inukaze"

#Borrar carpeta anterior :
rm -rf "$Prefijo/$Objetivo/AppData"
rm -rf "$Prefijo/$Objetivo/Application Data"
rm -rf "$Prefijo/$Objetivo/Cookies"
rm -rf "$Prefijo/$Objetivo/Descargas"
rm -rf "$Prefijo/$Objetivo/Documentos"
rm -rf "$Prefijo/$Objetivo/Escritorio"
rm -rf "$Prefijo/$Objetivo/Imagenes"
rm -rf "$Prefijo/$Objetivo/Local Settings"
rm -rf "$Prefijo/$Objetivo/Musica"
rm -rf "$Prefijo/$Objetivo/Saved Games"
rm -rf "$Prefijo/$Objetivo/Templates"
rm -rf "$Prefijo/$Objetivo/Temp"
rm -rf "$Prefijo/$Objetivo/Videos"
rm -rf "$Prefijo/$Objetivo/Mi música"
rm -rf "$Prefijo/$Objetivo/Mis Documentos"
rm -rf "$Prefijo/$Objetivo/Mis imágenes"
rm -rf "$Prefijo/$Objetivo/Mis vídeos"
rm -rf "$Prefijo/$Objetivo/Downloads"

# Crear Enlaces : 
for Directorio in $(find "$Prefijo" -mindepth 1 -maxdepth 1 -type d) ; do 
cd "$Directorio" && echo "Ingresando en $Directorio" || { echo "Error: No puedo entrar en $Directorio"; continue; }
    for Enlace in $(ln -sf "$BaseDeEnlace/AppData" "$Prefijo/$Objetivo/AppData" ; ln -sf "$BaseDeEnlace/Application Data" "$Prefijo/$Objetivo/Application Data" ; ln -sf "$BaseDeEnlace/Cookies" "$Prefijo/$Objetivo/Cookies" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Descargas" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/Documentos" ; ln -sf "$BaseDeEnlace/Escritorio"  "$Prefijo/$Objetivo/Escritorio" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Objetivo/Imagenes" ; ln -sf "$BaseDeEnlace/Local Settings" "$Prefijo/$Objetivo/Local Settings" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Objetivo/Musica" ; ln -sf "$BaseDeEnlace/Partidas" "$Prefijo/$Objetivo/Saved Games" ; ln -sf "$BaseDeEnlace/Plantillas" "$Prefijo/$Objetivo/Templates" ; ln -sf "$BaseDeEnlace/Temp" "$Prefijo/$Objetivo/Temp" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Objetivo/Videos" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Objetivo/Mi música" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/Mis Documentos" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Objetivo/Mis imágenes" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Objetivo/Mis vídeos" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Downloads" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Descargas" ; ln -sf "$BaseDeEnlace/Escritorio" "$Prefijo/$Objetivo/Desktop" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/My Documents")
    do
        echo ${Enlace}
    done
done
问题是我在第二个前缀PlayOnLinux文件夹前缀中出现了错误,如:

ln: failed to created symbolic link to '/home/inukaze/.PlayOnLinux/wineprefix//drive_c/users/inukaze//My Documents' : Does not exist the file or directory
我需要什么东西才能走完整的道路?因为我注意到“wineprefix/”是空的,而不是现有文件夹的名称“/drive\u c”


好的,谢谢你能给我的任何帮助

我现在已经解决了脚本是:

#!/usr/bin/env bash

echo '
Autor ----------------> Inukaze ( Venezuela )
Sitio ----------------> Removed for can publish the question
Correo-E -------------> bloginukaze@gmail.com
Licencia -------------> GPL 2

******* Inicio : Acerca de este guión ******** 

    Es un simple guion para cambiar la
    Ubicacion de los directorios 
    predeterminados

******** Fin : Acerca de este guión **********'

Objetivo="drive_c/users/inukaze"
BaseDeEnlace="/media/Compartido/Videojuegos/Partidas/Wine/inukaze"

#Crear Carpetas para la BaseDeEnlace en caso de que no exista:
if test ! -d "$BaseDeEnlace/AppData"
then
    mkdir -p "$BaseDeEnlace/AppData" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Application Data"
then
    mkdir -p "$BaseDeEnlace/Application Data" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Cookies"
then
    mkdir -p "$BaseDeEnlace/Cookies" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Descargas"
then
    mkdir -p "$BaseDeEnlace/Descargas" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Documentos"
then
    mkdir -p "$BaseDeEnlace/Documentos" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Escritorio"
then
    mkdir -p "$BaseDeEnlace/Escritorio" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Imagenes"
then
    mkdir -p "$BaseDeEnlace/Imagenes" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Local Settings"
then
    mkdir -p "$BaseDeEnlace/Local Settings" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Musica"
then
    mkdir -p "$BaseDeEnlace/Musica" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Partidas"
then
    mkdir -p "$BaseDeEnlace/Partidas" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Plantillas"
then
    mkdir -p "$BaseDeEnlace/Plantillas" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Temp"
then
    mkdir -p "$BaseDeEnlace/Temp" &> /dev/null
fi

if test ! -d "$BaseDeEnlace/Videos"
then
    mkdir -p "$BaseDeEnlace/Videos" &> /dev/null
fi

# Borrar Carpeta Anterior & Crear Enlace : 
Prefijo="$HOME/.wine" ; cd "$Prefijo"
cd "$Prefijo/$Objetivo" && echo "Ingresando en $Prefijo"
    for Enlace in $(rm -rf "$Prefijo/$Objetivo/AppData" ; rm -rf "$Prefijo/$Objetivo/Application Data" ; rm -rf "$Prefijo/$Objetivo/Cookies" ; rm -rf "$Prefijo/$Objetivo/Descargas" ; rm -rf "$Prefijo/$Objetivo/Documentos" ; rm -rf "$Prefijo/$Objetivo/Escritorio" ; rm -rf "$Prefijo/$Objetivo/Desktop" ; rm -rf "$Prefijo/$Objetivo/Imagenes" ; rm -rf "$Prefijo/$Objetivo/Local Settings" ; rm -rf "$Prefijo/$Objetivo/Musica" ; rm -rf "$Prefijo/$Objetivo/Saved Games" ; rm -rf "$Prefijo/$Objetivo/Templates" ; rm -rf "$Prefijo/$Objetivo/Temp" ; rm -rf "$Prefijo/$Objetivo/Videos" ; rm -rf "$Prefijo/$Objetivo/Mi música" ; rm -rf "$Prefijo/$Objetivo/Mis Documentos" ; rm -rf "$Prefijo/$Objetivo/My Documents" ; rm -rf "$Prefijo/$Objetivo/Mis imágenes" ; rm -rf "$Prefijo/$Objetivo/Mis vídeos" ; rm -rf "$Prefijo/$Objetivo/Downloads" ; ln -sf "$BaseDeEnlace/AppData" "$Prefijo/$Objetivo/AppData" ; ln -sf "$BaseDeEnlace/Application Data" "$Prefijo/$Objetivo/Application Data" ; ln -sf "$BaseDeEnlace/Cookies" "$Prefijo/$Objetivo/Cookies" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/Documentos" ; ln -sf "$BaseDeEnlace/Escritorio"  "$Prefijo/$Objetivo/Escritorio" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Objetivo/Imagenes" ; ln -sf "$BaseDeEnlace/Local Settings" "$Prefijo/$Objetivo/Local Settings" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Objetivo/Musica" ; ln -sf "$BaseDeEnlace/Partidas" "$Prefijo/$Objetivo/Saved Games" ; ln -sf "$BaseDeEnlace/Plantillas" "$Prefijo/$Objetivo/Templates" ; ln -sf "$BaseDeEnlace/Temp" "$Prefijo/$Objetivo/Temp" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Objetivo/Videos" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Objetivo/Mi música" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/Mis Documentos" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Objetivo/Mis imágenes" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Objetivo/Mis vídeos" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Objetivo/Downloads" ; ln -sf "$BaseDeEnlace/Escritorio" "$Prefijo/$Objetivo/Desktop" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Objetivo/My Documents")
    do
        echo ${Enlace}
    done
    
# Prefijo de "PlayOnLinux"
Prefijo="$HOME/.PlayOnLinux/wineprefix"
cd "$Prefijo"
Objetivo="drive_c/users/inukaze"
BaseDeEnlace="/media/Compartido/Videojuegos/Partidas/Wine/inukaze"

# Borrar Carpeta Anterior & Crear Enlace : 
for Directorio in $(ls -l | awk '{print$09}' | sed 's/\/*$//') ; do 
cd "$Prefijo/$Directorio/$Objetivo" && echo "Ingresando en $Prefijo/$Directorio" || { echo "Error: No puedo entrar en $Directorio"; continue; }
    for Enlace in $(rm -rf "$Prefijo/$Directorio/$Objetivo/AppData" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Application Data" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Cookies" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Descargas" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Documentos" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Escritorio" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Desktop" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Imagenes" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Local Settings" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Musica" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Saved Games" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Templates" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Temp" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Videos" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Mi música" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Mis Documentos" ; rm -rf "$Prefijo/$Directorio/$Objetivo/My Documents" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Mis imágenes" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Mis vídeos" ; rm -rf "$Prefijo/$Directorio/$Objetivo/Downloads" ; ln -sf "$BaseDeEnlace/AppData" "$Prefijo/$Directorio/$Objetivo/AppData" ; ln -sf "$BaseDeEnlace/Application Data" "$Prefijo/$Directorio/$Objetivo/Application Data" ; ln -sf "$BaseDeEnlace/Cookies" "$Prefijo/$Directorio/$Objetivo/Cookies" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Directorio/$Objetivo/Documentos" ; ln -sf "$BaseDeEnlace/Escritorio"  "$Prefijo/$Directorio/$Objetivo/Escritorio" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Directorio/$Objetivo/Imagenes" ; ln -sf "$BaseDeEnlace/Local Settings" "$Prefijo/$Directorio/$Objetivo/Local Settings" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Directorio/$Objetivo/Musica" ; ln -sf "$BaseDeEnlace/Partidas" "$Prefijo/$Directorio/$Objetivo/Saved Games" ; ln -sf "$BaseDeEnlace/Plantillas" "$Prefijo/$Directorio/$Objetivo/Templates" ; ln -sf "$BaseDeEnlace/Temp" "$Prefijo/$Directorio/$Objetivo/Temp" ; ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Directorio/$Objetivo/Videos" ; ln -sf "$BaseDeEnlace/Musica" "$Prefijo/$Directorio/$Objetivo/Mi música" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Directorio/$Objetivo/Mis Documentos" ; ln -sf "$BaseDeEnlace/Imagenes" "$Prefijo/$Directorio/$Objetivo/Mis imágenes" ;  ln -sf "$BaseDeEnlace/Videos" "$Prefijo/$Directorio/$Objetivo/Mis vídeos" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Directorio/$Objetivo/Downloads" ; ln -sf "$BaseDeEnlace/Descargas" "$Prefijo/$Directorio/$Objetivo/Descargas" ; ln -sf "$BaseDeEnlace/Escritorio" "$Prefijo/$Directorio/$Objetivo/Desktop" ; ln -sf "$BaseDeEnlace/Documentos" "$Prefijo/$Directorio/$Objetivo/My Documents")
    do
        echo ${Enlace}
    done
done

固定和简化代码:

#/usr/bin/env bash
echo'Autor---------------->Inukaze(委内瑞拉)
Sitio----------------->已删除,以便可以发布问题
Correo-E---------------->bloginukaze@gmail.com
Licensia----------------->GPL 2
*******Inicio:Acerca de este guión******
这是一个简单的例子
董事会成员
预先决定
********财务:埃斯特圭奥会*********'
Objetivo='drive\u c/users/inukaze'
BaseDeEnlace='/media/Compartido/Videojuegos/Partidas/Wine/inukaze'
目录=('AppData''应用程序数据''Cookies''描述'
“Documentos”“Escritorio”“图像”“本地设置”
“音乐”“Partidas”“Plantillas”“Temp”“视频”)
#在不存在的情况下,基本面上的地毯:
对于“${directories[@]}”中的目录;做
dirpath=“$BaseDeEnlace/$dir”
! [-d“$dirpath”]&&mkdir-p--“$dirpath”
完成
#Borrar地毯前幅和后幅:
Prefijo=“$HOME/.wine”
cd“$Prefijo”| |出口1
cd“$Prefijo/$Objetivo”&回显“Ingresando en$Prefijo”
用于“${directories[@]}”中的Enlace;做
link_dest=“$Prefijo/$Objetivo/$Enlace”
link_src=“$BaseDeEnlace/$Enlace”
rm-rf--“$link\u dest”
ln-sf--“$link\u src”“$link\u dest”
回显“${Enlace}”
完成
#“PlayOnLinux”前缀
Prefijo=“$HOME/.PlayOnLinux/wineprefix”
cd“$Prefijo”| |出口1
Objetivo='drive\u c/users/inukaze'
BaseDeEnlace='/media/Compartido/Videojuegos/Partidas/Wine/inukaze'
#Borrar地毯前幅和后幅:
适用于*/中的董事;做
如果cd“$Prefijo/$Directorio/$Objetivo”;然后
printf'Ingresando en%s\n'$Prefijo/$Directorio“
其他的
printf'错误:没有puedo entra en%s\n'$Directorio'>&2
持续
fi
用于“${directories[@]}”中的Enlace;做
link_dest=“$Prefijo/$Directorio/$Objetivo/$Enlace”
link_src=“$BaseDeEnlace/$Enlace”
rm-rf--“$link\u dest”
ln-sf--“$link\u src”“$link\u dest”
回显“${Enlace}”
完成
完成

您无法以这种方式可靠地迭代
查找
结果,因为使用空格和特殊字符对名称进行分词。看:这回答了你的问题吗?现在,用解析ls的结果并在$(ls-l | awk'{print$09}'| sed's/\/*$/')中对Directorio迭代它的
,来替换迭代find result的糟糕做法;执行