I use in my scripts a .env file to specify logpath and logname
root@nim /root/scripts > cat .env # global variables for all scripts export binpath=/root/scripts export sn=`basename $0 | cut -d. -f1` export HOSTNAME=`/usr/bin/hostname` export logpath=/root/scripts/logs export logname=$logpath/$sn.log export configfile=$binpath/$sn.cfg export destination="myemail@google.com" export mail_undeliverable="myemail@google.com"
root@nim /root/scripts > cat ./remove_paths.sh
#!/bin/ksh93
#@(#) Remove unused adapter, paths and disks
# Version 1.0  08-2014
# Version 1.1  12-2023
dir=`dirname $0`
. $dir/.env
for device in $(lsdev -Cc disk | grep -vi available | awk '{print $1}')
do
  rmdev -dl $device
done
for device in $(lsdev -Cc adapter | grep -vi available | awk '{print $1}')
do
  rmdev -dl $device
done
# Specific for Dell/EMC disks LUNZ
for device in $(lsdev -Cc disk | sed 's/\ /:/g' | grep ':EMC:CLARiiON:FCP:MPIO:LUNZ:' | awk -F':' '{print $1}')
do
  rmdev -dl $device
done
# Try to enable all paths
lspath -s fai -F 'name parent connection' | while read name parent connection
do
  echo "# chpath -s ena -l $name -p $parent -w $connection"
  chpath -s ena -l $name -p $parent -w $connection
done
lspath -s mis -F 'name parent connection' | while read name parent connection
do
  echo "# chpath -s ena -l $name -p $parent -w $connection"
  chpath -s ena -l $name -p $parent -w $connection
done
for adapter in $(lspath | egrep -v "Available|Enabled" | awk '{print $3}' | sort -u)
do
  echo "# cfgmgr -l $adapter"
  cfgmgr -l $adapter
done
# delete path not available
for i in $(lsdev -Cc disk | awk '{print $1}')
do
  for j in $(lspath -l $i -F'status:parent:connection' | grep -vi enabled)
  do
    parent=$(echo $j | awk -F':' '{print $2}')
    conn=$(echo $j | awk -F':' '{print $3}')
    rmpath -l $i -p $parent -w $conn -d
  done
done