Blame | Last modification | View Log | RSS feed
#!/bin/bash# This file must be executable to work! chmod 755!# Look at what a host is exporting to determine what we can mount.# This is very simple, but it appears to work surprisingly wellkey="$1"# add "nosymlink" here if you want to suppress symlinking local filesystems# add "nonstrict" to make it OK for some filesystems to not mountopts="-fstype=nfs,hard,intr,nodev,nosuid"# Showmount comes in a number of names and varieties. "showmount" is# typically an older version which accepts the '--no-headers' flag# but ignores it. "kshowmount" is the newer version installed with knfsd,# which both accepts and acts on the '--no-headers' flag.#SHOWMOUNT="kshowmount --no-headers -e $key"#SHOWMOUNT="showmount -e $key | tail -n +2"for P in /bin /sbin /usr/bin /usr/sbindofor M in showmount kshowmountdoif [ -x $P/$M ]thenSMNT=$P/$Mbreakfidonedone[ -x $SMNT ] || exit 1# Newer distributions get this rightSHOWMOUNT="$SMNT --no-headers -e $key"$SHOWMOUNT | LC_ALL=C cut -d' ' -f1 | LC_ALL=C sort -u | \awk -v key="$key" -v opts="$opts" -- 'BEGIN { ORS=""; first=1 }{ if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }END { if (!first) print "\n"; else exit 1 }' | sed 's/#/\\#/g'