[bash]增强功能中转移文件的脚本

据说配合

sudo chomd 777 get
sudo mv get /bin/get

使用更快乐:

#!/bin/get

# 挂载位置
export vboxsf="/mnt"
# 默认存放路径
export path="/home/root_cn/downloads"
# 所属用户名
user_name="root_cn"

ls $vboxsf

read -p "选择需要获取的文件(夹)名称:" file_name
if [ -e "$vboxsf/$file_name" ];
then
    cp -r $vboxsf/$file_name $path/$file_name
    chown -R $user_name:$user_name $path/$file_name
    echo -e "\033[32m[True]\033[0m 已获取文件于$path:"
    find $path/$file_name
else
    echo -e "\033[31m[False]\033[0m 找不到该文件"
fi

没什么可学习的点,发个贴证明自己还活着。

bash
99 views
Comments
登录后评论
Sign In
·

你这个Shebang真的是对的吗

·

发现一个致命错误,虽然我自己不会犯,但是既然分享出来了,感觉还是应该负点责任,稍微更新了一下,错误原因为:

当选择不输入文件名时$file_name为空,if语句判别$vboxsf文件夹是存在的,继续强制执行,会将$vboxsf文件夹克隆进$path的路径

下面是更新后的代码:

#!/bin/sudo bash

# 挂载位置
export vboxsf="/mnt"
# 默认存放路径
export path="/home/root_cn/downloads"
# 所属用户名
user_name="root_cn"

ls $vboxsf

read -p "选择需要获取的文件(夹)名称:" file_name
if [ -e "$vboxsf/$file_name" ] && [ "$file_name" != "" ];
then
    cp -r $vboxsf/$file_name $path/$file_name
    chown -R $user_name:$user_name $path/$file_name
    echo -e "\033[32m[True]\033[0m 已获取文件于$path:"
    find $path/$file_name
else
    echo -e "\033[31m[False]\033[0m 找不到该文件"
fi

我是憨憨