写这个脚本是记得nemo上面好像有这个功能,平时复制文件方便;

写的时候遇到一个困难,就是针对不同文件的权限需要判断是否提权还是不提权;

#!/bin/bash
#通过判断文件的所有者是否为当前用户;
#env |grep USER 可以输出当前用户,结果为USER=name1,需要取name1
# getfacl /home/ilaoyao/.bashrc -a -p |sed -n "2p" 可以输出当前文件信息,sed获取第二行,为# owner: name1。要取name1
# 如果当前用户与所有者相等,则直接复制,如果不等,则提权复制
#本代码只适合单选,不适合多选。多选只复制第一个选择内容;
#有一个副本文件如果已经存在的话,需要另外再判断,自己用就不写那么多了;
#laoyao 2020.03.10 

user1=`env |grep USER |cut -c 6-` #表示从第6位一直取到最后
user2=`getfacl -a -p $1 |sed -n "2p" | cut -c 10-` #从第10位开始取字符到最后
var1=`ls -ld $1 |cut -c 8-9` #提取8-9的位置;rw表示可读可写;
if [ "$var1" = 'rw' ] ;then
      cp -r "$1" "$1(副本)" #要带参数r递归复制
else
      if [ "$user1" = "$user2" ]; then
          cp -r "$1" "$1(副本)" #要带参数r递归复制
      else 
        pkexec cp -r "$1" "$1(副本)" #要带参数r递归复制
      fi
fi

?