펜 드라이브가 CPU에서 인식되면 실행되는 줄이 포함된 bash 스크립트가 있지만 cd /run/media/Username/121C-E137/
설치 프로세스가 완료된 후에만 실행해야 합니다. 현재 이 줄은 펜 드라이브가 마운트되기 전에 실행되며 잘못된 디렉터리 오류를 반환합니다.
답변1
간단한 해결책은 스크립트가 주기적으로 디렉터리를 확인하고 디렉터리가 존재하는 경우에만 계속 진행하도록 하는 것입니다.
PENDRIVE='/run/media/Username/121C-E137'
while [ ! -d "$PENDRIVE" ]; do
sleep 10
done
cd $PENDRIVE
...
답변2
아래에서는 pendrive 디렉토리가 나타나는지 확인하여 설치되어 있는지 확인합니다./proc/mounts
pendrive='/run/media/Username/121C-E137'
while ! grep -q -s "$pendrive" /proc/mounts; do
sleep 10
done
cd "$pendrive"
~/run/media/Username/121C-E137
이것이 원하는 것이 아닌 것처럼 흔하지 않은 가능성을 고려해야 하는 경우 다음과 같이 수정할 수 있습니다.
pendrive='/run/media/Username/121C-E137'
while ! grep -s "$pendrive" /proc/mounts | awk '{print $2}' | grep -q -s -x "$pendrive"; do
sleep 10
done
cd "$pendrive"