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
 | 
			
		||||
" "$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
 | 
			
		||||
owner: %u %U
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,6 +45,37 @@ size: %s
 | 
			
		|||
links: %h
 | 
			
		||||
" "$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
 | 
			
		||||
owner: %u %U
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue