두 파일의 이름 바꾸기 [닫기]

두 파일의 이름 바꾸기 [닫기]

스크립트를 사용하여 두 파일의 이름을 바꾸고 싶습니다.

예를 들어

mv plugin-cfg.xml plugin-cfg2.xml  

그리고

mv plugin-cfgbk.xml plugin-cfg.xml  

여러 디렉터리에서 이 작업을 수행해야 합니다.

질문: 각 디렉터리에서 두 개가 아닌 하나의 명령만 사용하여 이를 수행하려면 어떻게 해야 합니까?

답변1

bash-[41]$ touch myscript.sh
bash-[42]$ chmod +x myscript.sh
bash-[43]$ echo '#!/usr/bin/env bash' > myscript.sh
bash-[44]$ echo 'mv plugin-cfg.xml plugin-cfg2.xml' >> myscript.sh
bash-[45]$ echo 'mv plugin-cfgbk.xml plugin-cfg.xml' >> myscript.sh
bash-[46]$ ./myscript.sh 

명확성을 위해 편집

위의 내용은 간단한 질문에 대한 간단한 답변입니다. 더 긴 답변입니다. 디렉터리를 만드는 것은 사용자에게 달려 있지만 스크립트를 만들어야 합니다. 가장 쉬운 방법은 touch명령을 사용하여 기본 파일을 umask만들고 chmod.

셸에서 실행:

myscript.sh chmod +x myscript.sh를 터치하세요.

그런 다음 스크립트를 편집하고 다음 줄을 추가합니다.

#!/usr/bin/env bash 
mv plugin-cfg.xml plugin-cfg2.xml
mv plugin-cfgbk.xml plugin-cfg.xml

스크립트를 생성한 후 셸에서 실행합니다.

./myscript.sh

또는

bash myscript.sh

스크립트의 첫 번째 줄은 interpreter directive종종 shebang라인이라고 불립니다. 이 줄은 쉘에 스크립트 실행 방법을 알려줍니다. 이 경우 셸 호환 인터프리터를 실행하여 마치 셸에서 실행된 것처럼 명령을 실행하는 간단한 셸 스크립트입니다.

가장 간단하게 말하면 이것이 쉘 스크립팅의 핵심입니다. 쉘 프롬프트에서 실행하는 것과 똑같이 명령 배치를 실행하십시오. 스크립트가 더욱 복잡해짐에 따라 종료 코드 및 명령 출력 확인, if statements이전 테스트 또는 작업 결과를 기반으로 다음 작업에 대한 동적 결정을 내리는 케이스 및 사용과 같은 일부 추가 기능이 추가되었습니다.

관련 정보