회사에서 프로젝트를 하는 중
파이썬에서 리눅스 명령어를 실행해야 하는 경우가 생겼다.
명령어를 사용할 때 쉘에서 실행해야 하는 경우가 있어 그 부분을 정리한다.
sh -c "command"
sh -c "echo '첫 번째 명령어 실행'; ls -l; echo '끝'"
sh -c "df -h > disk_usage.txt"
sudo -u someuser sh -c "whoami && ls -l"
sh -c "echo \$SHELL"
sh -c "ls -l /etc/*.conf"
import subprocess
subprocess.run(["sh", "-c", "ls -l /var/log | grep 'auth'"])
단순한 명령실행이 아니라면 대부분의 경우에 쉘에서 명령어를 실행하는 경우가 많다.