sh 생성을 도와주세요

sh 생성을 도와주세요

다음 명령을 실행 가능한 쉘 스크립트(?sh?)로 변환하는 데 도움이 필요합니다.

sudo su  
export SLOTS=/sys/devices/bone_capemgr.*/slots  
cd /lib/firmware  
echo PRU-GPIO-Enable > $SLOTS  
exit

래퍼와 호출의 개념을 파악하려고 노력하고 있지만 이 간단한 작업은 현재로서는 이해할 수 없습니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

질문을 이해했다면 입력한 정확한 코드를 쉘 스크립트로 실행하시겠습니까?

echo "
#!/bin/bash
export SLOTS=/sys/devices/bone_capemgr.*/slots
cd /lib/firmware
echo PRU-GPIO-Enable > $SLOTS
exit" > file && chmod +x file

sudo su실행 스크립트를 사용하는 것이 더 낫다고 생각하고 스크립트에서 사용자 를 sudo설정하려고 할 때 어떤 문제가 발생할 수 있는지 잘 모르겠습니다.

또는 분할하려면 파일을 만들고 텍스트 편집기(vim, emacs 또는 nano)를 사용하여 파일에 내용을 추가하세요. 실행할 때 어떤 쉘을 사용할지 알려주기 위해 첫 번째 줄을 추가했는데, 일반적으로 bash가 충분한 기본값이므로 그냥 사용했습니다.

그런 다음 해당 파일을 명명된 파일에 저장합니다.문서.

파일에 실행 권한이 필요하므로 chmod +x실행 가능하게 만들었습니다.

이제 스크립트를 실행할 수 있습니다$ ./file

해결하려는 문제를 완전히 놓쳤을 수도 있지만 도움이 되었으면 좋겠습니다.

답변2

루트로 실행해야 하는 스크립트의 유일한 부분은 커널 구성 매개변수를 작성하는 것입니다. cd또한 아무것도 사용하지 않기 때문에 중복됩니다 .

따라서 스크립트는 다음과 같이 다시 작성할 수 있습니다.

#!/bin/bash
export SLOTS=/sys/devices/bone_capemgr.*/slots
echo PRU-GPIO-Enable | sudo tee $SLOTS >/dev/null
exit

스크립트 파일 을 실행 가능 하게 만들고 이를 $PATH./usr/local/bin/$HOME/bin$PATH

아니면 이 한 줄을 사용하세요

echo PRU-GPIO-Enable | sudo tee /sys/devices/bone_capemgr.*/slots >/dev/null

관련 정보