]> Zhao Yanbai Git Server - minix.git/commitdiff
ash: expr -e support
authorDavid van Moolenbroek <david@minix3.org>
Wed, 16 Jun 2010 09:33:11 +0000 (09:33 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Wed, 16 Jun 2010 09:33:11 +0000 (09:33 +0000)
commands/ash/bltin/expr.c
commands/ash/bltin/unary_op
man/man1/expr.1

index 07052186cd74f7d358cb8facbc866a2b64d97eb0..63e2844f7666596d0f60c1ea589ea7d77693e72f 100644 (file)
@@ -279,6 +279,9 @@ expr_operator(op, sp, fs)
            sp->u.num = expr_is_false(sp);
            sp->type = BOOLEAN;
            break;
+      case EXISTS:
+           if (fs->rcode >= 0) goto true;
+           goto false;
       case ISREAD:
            i = 04;
            goto permission;
index 26748aa625c33ab91c5b0a8339403650d738fdf1..e7a0f3cb61529eed3c45796d56322e87b79a0067 100755 (executable)
@@ -5,6 +5,7 @@
 # by the Ash General Public License.  See the file named LICENSE.
 
 NOT     !      3
+EXISTS  -e     12   OP_FILE
 ISREAD  -r     12   OP_FILE
 ISWRITE  -w    12   OP_FILE
 ISEXEC  -x     12   OP_FILE
index 18a46085b23fa77cc8cd9b0b1d5857c03245fc4f..9e04e73f353311cd806a7fef7e01c05e8720429a 100644 (file)
@@ -153,6 +153,8 @@ The remaining operators all deal with files.  Except as noted, they return
 false if the
 specified file does not exist.  The ones dealing with permission use
 the effective user and group ids of the shell.
+.u \-e string boolean
+True the file exists.
 .u \-r string boolean
 True if you have read permission on the file.
 .u \-w string boolean