aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 5c2e06599..9c61ce618 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -4642,6 +4642,10 @@ cmdputs(const char *s)
/* These can only happen inside quotes */
cc[0] = c;
str = cc;
+//FIXME:
+// $ true $$ &
+// $ <cr>
+// [1]+ Done true ${\$} <<=== BUG: ${\$} is not a valid way to write $$ (${$} would be ok)
c = '\\';
break;
default:
@@ -4823,7 +4827,10 @@ cmdtxt(union node *n)
cmdputs(utoa(n->nfile.fd));
cmdputs(p);
if (n->type == NTOFD || n->type == NFROMFD) {
- cmdputs(utoa(n->ndup.dupfd));
+ if (n->ndup.dupfd >= 0)
+ cmdputs(utoa(n->ndup.dupfd));
+ else
+ cmdputs("-");
break;
}
n = n->nfile.fname;