스크립트를 사용하여 두 파일의 이름을 바꾸고 싶습니다.
예를 들어
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
이전 테스트 또는 작업 결과를 기반으로 다음 작업에 대한 동적 결정을 내리는 케이스 및 사용과 같은 일부 추가 기능이 추가되었습니다.