24 lines
		
	
	
	
		
			645 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
	
		
			645 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								# Date: Fri, 11 Oct 91 11:22:36 edt
							 | 
						||
| 
								 | 
							
								# From: friedman@gnu.ai.mit.edu
							 | 
						||
| 
								 | 
							
								# To: bfox@gnu.ai.mit.edu
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# A replacement for basename(1).  Not all the systems I use have this
							 | 
						||
| 
								 | 
							
								# program.  Usage: basename [path] {extension}
							 | 
						||
| 
								 | 
							
								function basename ()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								 local path="$1"
							 | 
						||
| 
								 | 
							
								 local suffix="$2"
							 | 
						||
| 
								 | 
							
								 local tpath="${path%/}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # Strip trailing '/' characters from path (unusual that this should
							 | 
						||
| 
								 | 
							
								    # ever occur, but basename(1) seems to deal with it.)
							 | 
						||
| 
								 | 
							
								    while [ "${tpath}" != "${path}" ]; do
							 | 
						||
| 
								 | 
							
								       tpath="${path}"
							 | 
						||
| 
								 | 
							
								       path="${tpath%/}"
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    path="${path##*/}"       # Strip off pathname
							 | 
						||
| 
								 | 
							
								    echo ${path%${suffix}}   # Also strip off extension, if any.
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |