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