waitfeiyan 发表于 2013-03-30 22:11

求教一个Linux脚本的变量含义

有一段脚本是这样的,相信熟悉Oracle RAC环境的朋友们应该见到过,如下:
#!/bin/sh
# FILE: /etc/udev/scripts/iscsidev.sh

BUS=${1}
HOST=${BUS%%:*}
[ -e /sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})

# This is not an open-scsi drive
if [ -z "${target_name}" ]; then
   exit 1
fi
echo "${target_name#*:}"

我对shell不熟悉,想知道这段脚本的第一行和第二行分别是什么意思?

因为,我照猫画虎,执行这个脚本,返回的file=的路径不存在。按照这段脚本和我的系统环境,应该是host${HOST}代表的分别是iscsi_host目录下的host1,host2,host3,host4,host5。

谢谢!

einsnabuck 发表于 2013-04-26 17:19

这些文件你创建了吗?
/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname
页: [1]
查看完整版本: 求教一个Linux脚本的变量含义