쉘 스크립트에서 이 명령을 실행해야 합니다소스 > 대상 복사폴더를 제외합니다.
rsync, tar, find, mv 등은 없습니다.
정확히 이 명령은 다음과 같습니다.
cp -var test/!(test2) testbkp
- 쉘에서는 작동합니다
- 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에서 실행되고 있는지 확인하십시오.