> plumb start 9 cat /home/ruda/CALC/manu/$1_source | plumb -i -d edit -a > action=showdata > > I am getting this message when it is used > > /home/ruda/CALC/systems/ni4ni4ni4_264_fcc001_2/rotxy/Cxy.eps > /home/ruda/CALC/systems/ni4ni4ni4_264_fcc001_2/rotzx/Czx.eps why are you executing a rule instead of directly plumbing to edit? i'm not sure all of the wheres and whys of what you're doing, but it smells too complicated. also, using annoying characters like '[' and '] in filenames is complicating matters. > Also, as I am using p9p now, I don't know who interprets the part > after the 'plumb start'. I first, believing that rc does the job, had > e.g. > cat /home/ruda/CALC/manu/^$1^_source > there (note the ^s), but then those ^s stayed intact in the name > (which wasn't naturally found). both the plumber and rc get a crack at it. it's like `` in the bourne shell. so, for example, if i want to quote something in rc because i've got a globbing character or other problem, i'd need a rule like this: type is text data matches '\* x \*' plumb start rc -c 'echo '''$0''' >> /tmp/junk' 3 's are needed. two to generate a character-stuffed quote and one to terminate or start quoting. $0 must be interpreted by plumber. by the way, there's a (mostly harmless) bug in plumb's basic rules: /n/sources/plan9//sys/lib/plumb/basic:92,98 - basic:92,98 # man index entries are synthesized type is text data matches '([a-zA-Z¡-￿0-9_\-./]+)\(([1-8])\)' - plumb start rc -c 'man -b '$2' '$1' + plumb start rc -c 'man -b '$2' '$1 # start rule for images without known suffixes dst is image the reason this extra ' at the end is not flagged is because the plumber doesn't check for unterminated quotes. this change to plumb's source would need to be made to enable checking: /n/sources/plan9//sys/src/cmd/plumb/rules.c:330,335 - rules.c:331,339 if(ends) *ends = s; *p = '\0'; + /* disabled due to default plumbing having broken rule */ + if(0 && quoting) + return "eof-in-quoted-string"; return ebuf; } - erik