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

Mat*_*ieu 8 bash

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

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

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

/home/matt # ./my_script ./a ./b
Run Code Online (Sandbox Code Playgroud)

我希望看到一个指向b的符号链接

当然,只是这样做

ln -s $2 $1/link
Run Code Online (Sandbox Code Playgroud)

在脚本中不起作用...(它将创建一个链接,在内部查找./b)

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

Pau*_*ce. 6

试试这个:

ln -s "$(readlink -e "$2")" "$1/link"
Run Code Online (Sandbox Code Playgroud)

如果你有readlink.

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

cd "$2"
dir=$(pwd)
cd -
ln -s "$dir" "$1/link"
Run Code Online (Sandbox Code Playgroud)