Försöker att skriva ett shellscript som kontrollerar om en AFP-server är monterad och ansluten innan jag påbörjar backup till den monterade volymen.
Servern är tidigare monterad på /backupserver med kommandot: "mount_afp afp://marcus:[email protected]/utdelat /backupserver/".
Skriptet:
=========================
#!/bin/sh
echo "Checking server-connection"
if !( `echo mount_afp afp://marcus:[email protected]/utdelat /backup_server/`=='mount_afp: the volume is already mounted' )
then
echo "The server is not available, exiting."
exit 1
fi
echo "Server is connected."
=========================
Det jag med skriptet vill göra är alltså att jämföra outputen från kommandot "mount_afp afp://marcus:[email protected]/utdelat /backup_server/" med raden "mount_afp: the volume is already mounted". Om servern är monterad är raden densamma.
Problemet nu är att if-satsen inte körs som den ska, se nedan. Den försöker exekvera raden jag vill jämföra med. Problemet är väl egentligen att "mount_afp: the volume is already mounted" körs ut på stderr och inte stdout.
Output när skriptet körts:
=========================
Checking server-connection
mount_afp: the volume is already mounted
./backup: ==mount_afp: the volume is already mounted: command not found
The server is not available, exiting.
=========================
Någon som några ideér eller tips om hur man löser detta?