1. 准备工作
vmware里的设置如下图
2. 脚本
脚本目录树
.
├── build_share.sh
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── script
│ └── share.sh
。。。。
build_share.sh
#!/bin/bash
gnome-terminal -- bash -c "./script/share.sh; exec bash "
share.sh
#! /bin/bash
# Exec vmshare-hgfsclient
echo "> vmware-hgfsclient"
vmware-hgfsclient
sleep 1
# Exec vmhgfs-fuse
echo "> vmhgfs-fuse"
echo "123456"|sudo -S vmhgfs-fuse .host:/ /mnt -o nonempty -o allow_other
echo " password ok"
sleep 1
# Judge code file is exit or not
echo "> judge code file is exit or not"
if [ -h "/home/xuehy/code" ];then
echo "soft link file [code] exists "
echo "> rm /home/xuehy/code"
rm /home/xuehy/code
else
echo "soft link file [code] do not exists "
fi
# Enter dir
echo "> cd /home/xuehy"
cd /home/xuehy
# Create soft link
echo "> ln -s /mnt/code /home/xuehy"
ln -s /mnt/code /home/xuehy
sleep 1
注意: 以上两个脚本要使用chmod命令给执行权限
以上脚本知识点:
1.脚本中自动输入sudo的密码
2. 判断文件是否存在,引用了博客Shell 判断文件或文件夹是否存在(不存在则创建)_shell脚本判断文件夹是否存在,不存在创建-CSDN博客 补充判断对象使用信息,如下
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新 [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧 [ "/data/file1" -ot "/data/file2" ]
3 执行结果
注意: code已经从windows的文件夹映射到ubuntu的home目录下了
window dir -> /mnt/code -> /home/xuehy/code