]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - share/alifs
Fix for DA
[u/mrichter/AliRoot.git] / share / alifs
... / ...
CommitLineData
1#!/bin/sh
2#############################################################################
3# alifs - a front-end shell for CASTOR and SHIFT
4#############################################################################
5#
6# modification history
7# $Log$
8# Revision 1.1 2001/02/23 17:33:40 buncic
9# Added alifs wrapper for CASTOR and alirun modified accordingly.
10#
11#
12# SYNOPSIS
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>
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...
45
46# o) copy files
47# alifs cp [-s maxsize] f1 f2
48# alifs cp f1 <dir2>
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).
51#For more info on CASTOR commands, see related man pages (nsls, nsrename, nsrm, nsmkdir,rfcp,rfstat).
52#
53#
54# AUTHOR:
55# Predrag Buncic, e-mail: Predrag.Buncic@cern.ch
56#
57# CREATION DATE:
58# 15-Feb-2001
59#C<
60###########################################################################
61ALIFSDIR=`dirname $0`; export ALIFSDIR
62###########################################################################
63Configure()
64{
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
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###########################################################################
107ALIFS_Usage()
108{
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
118}
119###########################################################################
120ALIFS_Makeman()
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###########################################################################
133ALIFS_ls()
134{
135 ls $*
136}
137###########################################################################
138ALIFS_mkdir()
139{
140 mkdir $*
141}
142###########################################################################
143ALIFS_mv()
144{
145 mv $*
146}
147###########################################################################
148ALIFS_rm()
149{
150 rm $*
151}
152###########################################################################
153ALIFS_cp()
154{
155 cp $*
156}
157###########################################################################
158Configure $*
159###########################################################################
160ALIFS()
161{
162 cmd=$1; shift 1
163
164 case `type -t ALIFS_$cmd` in
165 function)
166 ALIFS_$cmd $*
167 ;;
168 *)
169 ALIFS_Usage;
170 ;;
171 esac
172
173 exit
174}
175###########################################################################
176
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
192 ALIFS_Makeman
193 ;;
194 -help)
195 ALIFS_Usage
196 ;;
197 -p)
198 shift 1
199 POOL=$1; shift 1
200 ;;
201 *)
202 ALIFS $*
203 ;;
204 esac
205done
206
207###########################################################################
208ALIFS_Usage
209###########################################################################
210
211
212