один ответ, который больше будет копировать только те файлы, имеющие разрешение на доступ копию. Для этого сначала перейдите в каталог, файл которого нужно скопировать. Также внутри этого упоминается путь назначения, где вы хотите скопировать. Попробуйте следующее: -
destination_Path="/Users/Home/Desktop/test"
b=~/Desktop/copyPermission.txt
if [ ! -f $b ]
then
touch $b
fi
a=`ls -l`
e="-----w--w-"
echo "\n$a" | sed '1d' > $b
g=`pwd`
while read line
do
d=`echo "$line" | awk '{print $1}'`
if [ $e != $d ]
then
r=`echo "$line" | awk '{print $9}'`
echo "Can have copy permission $g/$r"
{
cp $g/$r "$destination_Path" && echo "copied successfully"
} || {
echo "cannot copy due to some error"
}
#else
#r=`echo "$line" | awk '{print $9}'`
#echo "Cannot have copy permission $r"
fi
done <"$b"
Доступ определяется как чтение/запись/выполнение простым языком. На какой из них вы ссылаетесь? – anubhava
права на копирование, поэтому я предполагаю, что это запись/выполнение доступа. – alvas
Для первой части 'Как я могу перечислить только список каталогов/файлов, к которым у меня есть доступ?' Вам просто нужны разрешения на чтение файлов и права на чтение/выполнение в каталогах. – anubhava