쉘스크립트중 "if !" 는 어떻게 이해하면 되나요???

xoduddk123의 이미지

안녕하세요.

initramfs의 init스크립트를 보고있는데요

if ! 조건 : then 부분을 어떻게 이해해야될지 잘 몰라서 헤매고있습니다.

제가 보고있는 if문은 아래와 같습니다.

if ! mount -t devtmpfs -o mode=0755 udev /dev; then
echo "W: devtmpfs not available, falling back to tmpfs for /dev"
mount -t tmpfs -o mode=0755 udev /dev
[ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1
[ -e /dev/null ] || mknod /dev/null c 1 3
fi

스크립트가 동작하는 정황상 해당 if문 안에있는 내용들은 실행을 안하는거 같은데요

맨위에 있는 if ! mount -t devtmpfs -o mode=0755 udev /dev; then 는 동작하는건지 안하는건지...

제가 생각하기에는 if !는 mount -t devtmpfs -o mode=0755 udev /dev 명령이 실패하면 if문 안의 내용을 실행하는건가요??

아니면 mount -t devtmpfs -o mode=0755 udev /dev 조건으로 /dev디렉터리가 생성되지않았다면 안의 if문을 실행하는것인가요??

쉘스크립트에서 if !문을 어떻게 해석해야될지 궁금합니다.

익명 사용자의 이미지

xoduddk123의 이미지

감사합니다 링크를보고 문제를 해결하였습니다.