ruby
예를 들어, 이 트리가 있고 해당 폴더에 있는 모든 스크립트를 실행하고 싶습니다 . 아카이브를 어떻게 통과시킬 수 있나요?한 줄 명령.
./
../
rb-script/
sample1.rb
sample2.rb
답변1
(쉘에 따라)
for file in rb-script/*.rb; do ruby "$file"; done
그러면 문제가 해결될 것입니다. 또는 (쉘과 관련이 없다고 생각합니다)
find rb-script -type f -exec ruby "{}" \;
find
; 상황에 따라 더 구체적으로 사용할 수 있습니다.
find rb-script -maxdepth 1 -type f -name '*.rb' -exec ruby "{}" \;
일반적으로 말하면, 여러 파일을 허용하면(그리고 파일 수가 셸의 명령줄 인수 최대값보다 적으면) 작동할 것입니다. command <glob-pattern>
그러나 그럴지는 의문입니다. (하지만 원하는 작업을 수행하기 위해 래퍼 스크립트를 작성할 수 있습니다.)command
ruby
ruby-wrapper rb-script/*.rb
답변2
이것이 데몬의 일부인 경우 다음을 사용할 수 있습니다.구성 요소 실행이 명령은 폴더의 모든 항목을 알파벳순으로 실행합니다. 이 명령은 종료 명령을 역순으로 실행해야 하는 경우 특히 유용합니다.