在另一个文件夹中的bash脚本中创建符号链接

时间:2010-10-05 08:56:54

标签: bash

我的bash脚本获取了两个带文件夹的参数(存在和所有内容)。

在第一个内部我想创建第二个

的链接

假设我有文件夹/ home / matt / a和/ home / matt / b,我这样调用脚本:

/home/matt # ./my_script ./a ./b

我想看到一个指向b

的符号链接

当然,只是做

ln -s $2 $1/link
脚本中的

不起作用...(它会创建一个链接,在其中查找./b)

这只是一个非常简单的例子,我正在寻找一个足够通用的脚本来获取不同的参数(绝对路径或相对路径......等等)

3 个答案:

答案 0 :(得分:4)

尝试一下:

ln -s "$(readlink -e "$2")" "$1/link"

如果您有readlink

也许是larsmans对答案的这种变化:

cd "$2"
dir=$(pwd)
cd -
ln -s "$dir" "$1/link"

答案 1 :(得分:1)

#!/bin/sh
cd $2
ln -s "`pwd`" $1/link

答案 2 :(得分:1)

这是另一个可爱的单行:

ln -s `cd \`dirname $2\`; pwd`/`basename $2` $1/link