是否有一个标志可以添加到ln
命令以强制创建目标目录结构(如mkdir -p
)。
考虑一下:
ln -s /Applications/'Sublime Text.app'/Contents/SharedSupport/bin/subl /usr/local/bin/
将符号链接添加到Sublime Text命令行工具。但如果/ usr / local / bin /不存在则失败。
我已经尝试了-f
' force'旗帜,但这没有帮助。
你是否需要测试/ usr / local / bin / exists并在运行ln
命令之前没有测试它或者是否有更好的方法来创建它?
答案 0 :(得分:9)
试试这个,
mkdir -p /create_your_path/ && xargs ln -s /link_file_path/file /create_your_path/
答案 1 :(得分:1)
不,ln
没有标准选项来创建缺少的目标目录。如果您发现需要多次使用,可以在install
之前使用mkdir -p
或ln
,也许在辅助脚本中使用。
#!/bin/bash -e
mkdir -p "${!#}"
exec ln -s "$@"
这显然不是很强大,但如果您认为自己确实觉得有用,可以随意修饰它。