support solaris in __(file|directory)/explorer/stat
This commit is contained in:
		
					parent
					
						
							
								e3a900c1c9
							
						
					
				
			
			
				commit
				
					
						038524ba30
					
				
			
		
					 2 changed files with 60 additions and 0 deletions
				
			
		| 
						 | 
					@ -39,6 +39,35 @@ group: %g %G
 | 
				
			||||||
mode: %a %A
 | 
					mode: %a %A
 | 
				
			||||||
" "$destination"
 | 
					" "$destination"
 | 
				
			||||||
      ;;
 | 
					      ;;
 | 
				
			||||||
 | 
					    solaris)
 | 
				
			||||||
 | 
					        ls1="$( ls -ld "$destination" )"
 | 
				
			||||||
 | 
					        ls2="$( ls -ldn "$destination" )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if [ -f "$__object/parameter/mode" ]
 | 
				
			||||||
 | 
					        then mode_should="$( cat "$__object/parameter/mode" )"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # yes, it is ugly hack, but if you know better way...
 | 
				
			||||||
 | 
					        if [ -z "$( find "$destination" -perm "$mode_should" )" ]
 | 
				
			||||||
 | 
					        then octets=888
 | 
				
			||||||
 | 
					        else octets="$( echo "$mode_should" | sed 's/^0//' )"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case "$( echo "$ls1" | cut -c1-1 )" in
 | 
				
			||||||
 | 
					            -) echo 'type: regular file' ;;
 | 
				
			||||||
 | 
					            d) echo 'type: directory' ;;
 | 
				
			||||||
 | 
					        esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "owner: $( echo "$ls2" \
 | 
				
			||||||
 | 
					            | awk '{print $3}' ) $( echo "$ls1" \
 | 
				
			||||||
 | 
					                | awk '{print $3}' )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "group: $( echo "$ls2" \
 | 
				
			||||||
 | 
					            | awk '{print $4}' ) $( echo "$ls1" \
 | 
				
			||||||
 | 
					                | awk '{print $4}' )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "mode: $octets $( echo "$ls1" | awk '{print $1}' )"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
   *)
 | 
					   *)
 | 
				
			||||||
       stat --printf="type: %F
 | 
					       stat --printf="type: %F
 | 
				
			||||||
owner: %u %U
 | 
					owner: %u %U
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,6 +45,37 @@ size: %s
 | 
				
			||||||
links: %h
 | 
					links: %h
 | 
				
			||||||
" "$destination"
 | 
					" "$destination"
 | 
				
			||||||
      ;;
 | 
					      ;;
 | 
				
			||||||
 | 
					    solaris)
 | 
				
			||||||
 | 
					        ls1="$( ls -ld "$destination" )"
 | 
				
			||||||
 | 
					        ls2="$( ls -ldn "$destination" )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if [ -f "$__object/parameter/mode" ]
 | 
				
			||||||
 | 
					        then mode_should="$( cat "$__object/parameter/mode" )"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # yes, it is ugly hack, but if you know better way...
 | 
				
			||||||
 | 
					        if [ -z "$( find "$destination" -perm "$mode_should" )" ]
 | 
				
			||||||
 | 
					        then octets=888
 | 
				
			||||||
 | 
					        else octets="$( echo "$mode_should" | sed 's/^0//' )"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case "$( echo "$ls1" | cut -c1-1 )" in
 | 
				
			||||||
 | 
					            -) echo 'type: regular file' ;;
 | 
				
			||||||
 | 
					            d) echo 'type: directory' ;;
 | 
				
			||||||
 | 
					        esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "owner: $( echo "$ls2" \
 | 
				
			||||||
 | 
					            | awk '{print $3}' ) $( echo "$ls1" \
 | 
				
			||||||
 | 
					                | awk '{print $3}' )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "group: $( echo "$ls2" \
 | 
				
			||||||
 | 
					            | awk '{print $4}' ) $( echo "$ls1" \
 | 
				
			||||||
 | 
					                | awk '{print $4}' )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "mode: $octets $( echo "$ls1" | awk '{print $1}' )"
 | 
				
			||||||
 | 
					        echo "size: $( echo "$ls1" | awk '{print $5}' )"
 | 
				
			||||||
 | 
					        echo "links: $( echo "$ls1" | awk '{print $2}' )"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
   *)
 | 
					   *)
 | 
				
			||||||
      stat --printf="type: %F
 | 
					      stat --printf="type: %F
 | 
				
			||||||
owner: %u %U
 | 
					owner: %u %U
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue