Fix for DA
[u/mrichter/AliRoot.git] / share / alifs
CommitLineData
124fe280 1#!/bin/sh
2#############################################################################
3# alifs - a front-end shell for CASTOR and SHIFT
4#############################################################################
5#
6# modification history
7# $Log$
9e1a0ddb 8# Revision 1.1 2001/02/23 17:33:40 buncic
9# Added alifs wrapper for CASTOR and alirun modified accordingly.
10#
124fe280 11#
12# SYNOPSIS
9e1a0ddb 13# alifs [flags] <command [options]>
14#
15# File System implementation:
16# ls [-cdilRu] path
17# mv oldname newname...
18# rm [-f] [-i] [-r] dirname...
19# mkdir [-m absolute_mode] [-p] dirname...
20# cp f1 f2
21# cp f1 <dir2>
22#
23# CASTOR implementation:
24# ls [-cdilRTu] [--class] [--comment] path
25# mv oldname newname...
26# rm [-f] [-i] [-r] dirname...
27# mkdir [-m absolute_mode] [-p] dirname...
28# cp [-s maxsize] f1 f2
29# cp f1 <dir2>
124fe280 30#
31# DESCRIPTION
32# This is an interface script to underlying mass storage manager. At present it supports CASTOR on RH6.1 and offers some basic Unix like commands:
33#
34# o) list directory
35# alifs ls [-cdilRTu] [--class] [--comment] path
36#
37# o) move (rename) file or directory
38# alifs mv oldname newname...
39#
40# o) remove file or directory
41# alifs rm [-f] [-i] [-r] dirname...
42#
43# o) create directory
44# alifs mkdir [-m absolute_mode] [-p] dirname...
9e1a0ddb 45
46# o) copy files
47# alifs cp [-s maxsize] f1 f2
48# alifs cp f1 <dir2>
124fe280 49#
50# CASTOR file system is accessible via RFIO (root must be configured configured with --enable-rfio switch and linked with appropriate libshift.a library). It provides experiment topl level directory (/castor/cern.ch/alice) and user directories following the AFS naming scheeme (like /castor/cern.ch/user/b/buncic).
9e1a0ddb 51#For more info on CASTOR commands, see related man pages (nsls, nsrename, nsrm, nsmkdir,rfcp,rfstat).
124fe280 52#
53#
54# AUTHOR:
55# Predrag Buncic, e-mail: Predrag.Buncic@cern.ch
56#
57# CREATION DATE:
58# 15-Feb-2001
59#C<
60###########################################################################
9e1a0ddb 61ALIFSDIR=`dirname $0`; export ALIFSDIR
62###########################################################################
124fe280 63Configure()
64{
9e1a0ddb 65 case "$ALICE_MSS" in
66 CASTOR)
67 if [ -f $ALIFSDIR/castor.sh ]
68 then
69 . $ALIFSDIR/castor.sh
70 else
71 printf "Cannot find %s file. Terminating..." $ALIFSDIR/castor.sh
72 exit 1
73 fi
74 ;;
75 HPSS|RFIO)
76 if [ -f $ALIFSDIR/rfio.sh ]
77 then
78 . $ALIFSDIR/rfio.sh
79 else
80 printf "Cannot find %s file. Terminating...\n" $ALIFSDIR/rfio.sh
81 exit 1
82 fi
83 ;;
84 *)
85 ;;
86 esac
124fe280 87
88 if [ "$EXEC_SHELL" = "" ]
89 then
90 EXEC_SHELL=bin/sh
91 for shell in bash zsh ksh
92 do
93 for dir in /bin /usr/bin /usr/local/bin
94 do
95 if [ -x $dir/$shell ]
96 then
97 EXEC_SHELL=$dir/$shell
98 break 2
99 fi
100 done
101 done
102 export EXEC_SHELL
103 exec $EXEC_SHELL -norc -noprofile $0 $*
104 fi
105}
106###########################################################################
9e1a0ddb 107ALIFS_Usage()
124fe280 108{
9e1a0ddb 109 printf "\nFile System Implementation:\n\n"
110 printf "Usage: alifs [-help][-p <pool>] <command [options]> \n"
111 printf " [-cdilRu] path \n"
112 printf " mv oldname newname... \n"
113 printf " rm [-f] [-i] [-r] dirname... \n"
114 printf " mkdir [-m absolute_mode] [-p] dirname...\n"
115 printf " cp f1 f2 \n"
116 printf " cp f1 <dir2> \n"
117 exit
124fe280 118}
119###########################################################################
9e1a0ddb 120ALIFS_Makeman()
124fe280 121###########################################################################
122{
123 mandir=../man/man4
124 ./mangen -n tool $0
125 if [ $? -eq 0 ]
126 then
127 [ ! -d $mandir ] && mkdir -p $mandir
128 mv `basename $0`.? $mandir
129 exit
130 fi
131}
132###########################################################################
9e1a0ddb 133ALIFS_ls()
134{
135 ls $*
136}
137###########################################################################
138ALIFS_mkdir()
124fe280 139{
9e1a0ddb 140 mkdir $*
124fe280 141}
142###########################################################################
9e1a0ddb 143ALIFS_mv()
124fe280 144{
9e1a0ddb 145 mv $*
124fe280 146}
147###########################################################################
9e1a0ddb 148ALIFS_rm()
124fe280 149{
9e1a0ddb 150 rm $*
124fe280 151}
152###########################################################################
9e1a0ddb 153ALIFS_cp()
124fe280 154{
9e1a0ddb 155 cp $*
124fe280 156}
157###########################################################################
158Configure $*
159###########################################################################
160ALIFS()
161{
162 cmd=$1; shift 1
163
9e1a0ddb 164 case `type -t ALIFS_$cmd` in
124fe280 165 function)
9e1a0ddb 166 ALIFS_$cmd $*
124fe280 167 ;;
168 *)
9e1a0ddb 169 ALIFS_Usage;
124fe280 170 ;;
171 esac
172
173 exit
174}
175###########################################################################
9e1a0ddb 176
124fe280 177###########################################################################
178
179for param in $*
180do
181 case $param in
182 -trace)
183 shift 1
184 set -vx
185 ;;
186 -echo)
187 shift 1
188 ECHO="echo "
189 ;;
190 -makeman)
191 shift 1
9e1a0ddb 192 ALIFS_Makeman
193 ;;
194 -help)
195 ALIFS_Usage
124fe280 196 ;;
197 -p)
198 shift 1
199 POOL=$1; shift 1
200 ;;
201 *)
202 ALIFS $*
203 ;;
204 esac
205done
206
9e1a0ddb 207###########################################################################
208ALIFS_Usage
209###########################################################################
210
211
124fe280 212