You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							44 lines
						
					
					
						
							1.2 KiB
						
					
					
				| #!/bin/sh | |
| # --- SDE-COPYRIGHT-NOTE-BEGIN --- | |
| # This copyright note is auto-generated by ./scripts/Create-CopyPatch. | |
| # | |
| # Filename: package/.../udev/read_nodes.sh | |
| # Copyright (C) 2008 The OpenSDE Project | |
| # | |
| # More information can be found in the files COPYING and README. | |
| # | |
| # This program is free software; you can redistribute it and/or modify | |
| # it under the terms of the GNU General Public License as published by | |
| # the Free Software Foundation; version 2 of the License. A copy of the | |
| # GNU General Public License can be found in the file COPYING. | |
| # --- SDE-COPYRIGHT-NOTE-END --- | |
|  | |
| nodes_read() { | |
| 	local prefix="$1" dir="$2" node= nodename= mode= type= data= | |
| 	for nodename in $( cd "$dir"; ls -1d * 2> /dev/null ); do | |
| 		node="$dir/$nodename" | |
| 		mode=$( stat -c '%a %U %G' "$node" ) | |
| 		label="$prefix$nodename" | |
| 		type='?' | |
| 		data= | |
| 		 | |
| 		if [ -L "$node" ]; then | |
| 			type='l' | |
| 			data=$( readlink "$node" ) | |
| 		elif [ -d "$node" ]; then | |
| 			type='d' | |
| 		elif [ -c "$node" ]; then | |
| 			type='c' | |
| 			data=$( stat -c '%t %T' "$node" ) | |
| 		elif [ -S "$node" ]; then | |
| 			type='s' | |
| 		fi | |
|  | |
| 		echo "$type $label $mode${data:+ $data}" | |
| 		[ "$type" != d ] || nodes_read "$label/" "$node" | |
| 	done | |
| } | |
|  | |
| for dir; do | |
| 	nodes_read "" "${dir%/}" | |
| done
 | |
| 
 |