Validation 媒体文件系统类型验证
我对脚本编写还不熟悉,现在已经陷入僵局。我正在solaris系统上工作 如果操作员选择了错误的选项(例如,在驱动器中放置了dvd,但选择了cdrom),系统会做出以下响应: “hsfs装载:/dev/sr0不是hsfs文件系统” 修改case语句以确定所选fs是否正确(可能使用error mesg的输入?)的最简单方法是什么?如果不正确,将运算符输入视为无效选项以强制进行新选择Validation 媒体文件系统类型验证,validation,filesystems,case,media,solaris,Validation,Filesystems,Case,Media,Solaris,我对脚本编写还不熟悉,现在已经陷入僵局。我正在solaris系统上工作 如果操作员选择了错误的选项(例如,在驱动器中放置了dvd,但选择了cdrom),系统会做出以下响应: “hsfs装载:/dev/sr0不是hsfs文件系统” 修改case语句以确定所选fs是否正确(可能使用error mesg的输入?)的最简单方法是什么?如果不正确,将运算符输入视为无效选项以强制进行新选择 #!/bin/bash clear echo " Please select media type (1,2) or
#!/bin/bash
clear
echo " Please select media type (1,2) or quit (3):"
options=("CDROM" "DVD" "Quit")
select opt in "${options[@]}"
do
case $opt in
"CDROM")
echo "Mounting CDROM"
mount -F hsfs -r /dev/sr0 /cdrom
break
;;
"DVD")
echo "Mounting DVD"
mount -F udfs -r /dev/sr0 /cdrom
break
;;
"Quit")
break
;;
*) echo Invalid Option.;;
esac
done
谢谢您的时间。这应该可以(尽管未经测试):
#!/bin/bash
clear
echo " Please select media type (1) or quit (2):"
options=("CDROM/DVD" "Quit")
select opt in "${options[@]}"
do
case $opt in
"CDROM/DVD")
echo "Mounting CDROM/DVD"
fstyp=$(fstyp /dev/sr0)
case "$fstyp" in
[hu][sd]fs)
mount -F $(fstyp /dev/sr0) -r /dev/sr0 /cdrom ;;
"*") echo "Invalid media" ;;
esac
break
;;
"Quit")
break
;;
*) echo Invalid Option.;;
esac
done