Bash 스크립트에서 "cp" 명령을 사용하고 특정 디렉터리 제외

Bash 스크립트에서 "cp" 명령을 사용하고 특정 디렉터리 제외

쉘 스크립트에서 이 명령을 실행해야 합니다소스 > 대상 복사폴더를 제외합니다.

rsync, tar, find, mv 등은 없습니다.

정확히 이 명령은 다음과 같습니다.

cp -var test/!(test2) testbkp

  1. 쉘에서는 작동합니다
  2. Bash 스크립트에서 실행하세요. cp -var test testbkp작동 방식과 마찬가지로 제외할 필요가 없습니다.

제외 옵션을 사용하여 Bash 스크립트에서 실행하려고 할 때

cp -var test/!(test2) testbkp, 작동하지 않습니다.

출력도 없고, 아무것도 없고, 오류 메시지도 없습니다.

이 게시물도 확인했지만 결과가 없습니다. 쉘 스크립트에서 실행되면 cp 명령이 실행되지 않습니다.

Bash 스크립트에서 이 cp 명령을 실행하고 폴더를 제외하려면 어떻게 해야 합니까?

답변1

이 옵션을 활성화해야 하며 extglob스크립트에서는 기본적으로 활성화되어 있지 않습니다.

#!/bin/bash
shopt -s extglob
cp -var test/!(test2) testbkp

또한 스크립트가 실제로 bash에서 실행되고 있는지 확인하십시오.

관련 정보