Как скопировать файл и изменить права доступа к целевому файлу за один шаг?

У меня была точно такая же проблема при работе с подсистемой Ubuntu в Windows 10, и я решил ее, выполнив:

sudo apt-get update 
sudo apt install build-essential

В качестве альтернативы,вторая команда может быть более конкретной:

sudo apt install gcc
1
03.11.2020, 16:13
1 ответ

Просто включите chmodв свой xargsзвонок:

...|  xargs sh -c 'for file; do 
                      cp -- "$file" /my/destination/path/ && 
                        chmod 700 /my/destination/path/"$file"; 
                    done' sh

См.https://unix.stackexchange.com/a/156010/22222для получения дополнительной информации об используемом формате.

Обратите внимание: если вы вводите в xargsполный путь, а не имя файла в локальном каталоге, вам нужно будет использовать ${file##*/}, чтобы получить файл только имя:

...|  xargs sh -c 'for file; do 
                  cp -- "$file" /my/destination/path/ && 
                    chmod 700 /my/destination/path/"${file##*/}"; 
                done' sh
3
18.03.2021, 22:52

Теги

Похожие вопросы