> Hongwei Li wrote: >> I have a basic question about a script. In this script, I want to mount >> a >> network drive, if successful, then do somethings, otherwise, exit. My >> script is like this: >> >> #!/bin/csh >> if ( `mount sever2:/opt /mnt` ) then >> .... >> umount /mnt >> endif >> >> When I run this script, it does mount the network drive (server2 has >> done >> all nfs, exportfs etc.), but did not do anything inside the if-endif, >> and >> did not umount it. How should I write this script? > > In your script, the `mount sever2:/opt /mnt` runs the command and any > output generated by the command is substituted into where the quote > marks were. So, if as normal, no output is produced, you end up with: > > if ( ) then > ... > endif > > which doesn't make much sense. You don't need the backquotes. > > I'd steer clear of scripting in csh if I was you > (http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/). In sh you could > do it like this: > > #!/bin/sh > if mount sever2:/opt /mnt; then > ... > umount /mnt > fi > > Paul. > Thank yo very much! It is working now. Hongwei