【发布时间】:2013-03-30 20:29:54
【问题描述】:
我正在尝试创建一个脚本来自动创建指向特定文件夹下所有文件夹的符号链接,这应该不难做到,但由于某种原因,我的变量在这个单行脚本中传递得非常奇怪。
#!/bin/bash
# ----------------------------------
# --------- TotalKrill -------------
# ----------------------------------
# Script to create symlinks to my clouded folder in my home directory by listing all folders/files in the cloudfolder and then creating symlinks in destfolder
#
myname=`whoami`
searchfolderdir=/home/$myname/
searchfoldername=ownCloud
destfolder=~/
Target=$searchfolderdir$searchfoldername/
ls -1 $searchfolderdir$searchfoldername | awk {'print ln -fs $Target$0 $destfolder/$0'} #|sh
但我得到一个输出:awk: cmd. line:1: (FILENAME=- FNR=1) fatal: 除零尝试
谁能指点我一个更好的方法或告诉我如何修复这个脚本? “| sh”被注释掉了,所以我可以在运行之前得到正确的行。
在 ubuntu 12.10 x64 机器上试图让它工作。
【问题讨论】:
-
几个 cmets/问题:1) 您的目录/文件名中是否有空格或其他特殊字符? 2)
ls -1也返回文件你只想创建那些 dirs 吗?