我正在尝试将所有配置文件配置文件(〜/ .xxx)存储在git中.我对bash脚本非常可怕,但我想这对于你的脚本专家来说非常简单.
基本上,我想要一个脚本,它将在我的主目录中创建符号链接到我的仓库中的文件.Twist是,如果符号链接将覆盖实际文件,我想它会警告并提示覆盖.它还应该提示是否要覆盖sym链接,但目标路径是不同的.
我不介意为我想要创建的每个链接手动编辑脚本.我更关心的是能够通过运行存储在我的仓库中的脚本来快速部署新的配置脚本.
有任何想法吗?
Gil*_*il' 14
该ln
命令对于擦除已经很保守了,所以也许KISS方法对你来说足够好了:
ln -s git-stuff/home/.[!.]* .
Run Code Online (Sandbox Code Playgroud)
如果文件或链接已存在,您将收到错误消息,并且将跳过此链接.
如果您希望文件在存储库中具有不同的名称,请将该-n
选项传递给ln
它,以便它不会在该名称的现有子目录中意外创建符号链接:
ln -sn git-stuff/home/profile .profile
...
Run Code Online (Sandbox Code Playgroud)
如果您还希望在主目录的子目录中包含链接,请cp -as
重现目录结构,但会为常规文件创建符号链接.使用该-i
选项,它会提示目标是否已存在.
cp -i -as git-stuff/home/.[!.]* .
Run Code Online (Sandbox Code Playgroud)
(我的答案假定GNU ln
和GNU cp
,例如您在Linux(和Cygwin)上找到的但通常不在其他unices上.)
归档时间: |
|
查看次数: |
4205 次 |
最近记录: |