summaryrefslogtreecommitdiff
path: root/tests/rwx-to-mode
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2000-11-06 09:02:21 +0000
committerJim Meyering <jim@meyering.net>2000-11-06 09:02:21 +0000
commita3dcaf6a8316c68b77cd09d7b813eba2e3db2cae (patch)
tree2a8d53b34ce9a2c9a3d94eb3037a02ac181e618d /tests/rwx-to-mode
parentf00f8f6a9c52cced434aad8ba394476efe730c1a (diff)
downloadcoreutils-a3dcaf6a8316c68b77cd09d7b813eba2e3db2cae.tar.xz
*** empty log message ***
Diffstat (limited to 'tests/rwx-to-mode')
-rwxr-xr-xtests/rwx-to-mode16
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/rwx-to-mode b/tests/rwx-to-mode
index 39e1500b9..95a512167 100755
--- a/tests/rwx-to-mode
+++ b/tests/rwx-to-mode
@@ -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