]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
*** empty log message ***
authorJim Meyering <jim@meyering.net>
Mon, 6 Nov 2000 09:02:21 +0000 (09:02 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 6 Nov 2000 09:02:21 +0000 (09:02 +0000)
tests/rwx-to-mode

index 39e1500b9df4c3d9ba56d5b11cac0f852cf52ebd..95a512167031fefc3e9994a8584b0f820f95f036 100755 (executable)
@@ -6,15 +6,19 @@
 # FIXME: handle special bits, too.
 
 case $# in
-  1) ;;
+  1) rwx=$1;;
   *) echo "$0: wrong number of arguments" 1>&2
     echo "Usage: $0 ls-style-mode-string" 1>&2
     exit 1;;
 esac
 
-rwx=$1
-u=`echo $rwx|sed 's/^.\(...\).*/\1/;s/-//g'`
-g=`echo $rwx|sed 's/^....\(...\).*/\1/;s/-//g'`
-o=`echo $rwx|sed 's/^.......\(...\).*/\1/;s/-//g'`
-echo "=,u=$u,g=$g,o=$o"
+case $rwx in
+  [ld-][rwx-][rwx-][rwxs-][rwx-][rwx-][rwxs-][rwx-][rwx-][rwxt-]) ;;
+  *) echo "$0: invalid mode string: $rwx";;
+esac
+
+u=`echo $rwx|sed 's/^.\(...\).*/,u=\1/;s/-//g;s/^,u=$//'`
+g=`echo $rwx|sed 's/^....\(...\).*/,g=\1/;s/-//g;s/^,g=$//'`
+o=`echo $rwx|sed 's/^.......\(...\).*/,o=\1/;s/-//g;s/^,o=$//'`
+echo "=$u$g$o"
 exit 0