[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
process substitution not correctly parsed inside variable expansion
From: |
D630 |
Subject: |
process substitution not correctly parsed inside variable expansion |
Date: |
Fri, 17 Mar 2017 16:30:09 +0100 |
User-agent: |
Posteo Webmail |
There is a parse error in B:
# A
bash$ p=; : "${p:=>(f()(echo "$@") ;f foo)}"; declare -p p
declare -- p=">(f()(echo ) ;f foo)"
bash$ p=; : ${p:=>(f()(echo "$@") ;f foo)}; declare -p p
declare -- p="/dev/fd/63"
foo
bash$ p=; echo "${p:=>(f()(echo "$@") ;f foo)}"
(f()(echo ) ;f foo)
# B
bash$ p=; : "${p:=>(f() { echo "$@"; };f foo)}"; declare -p p
declare -- p=">(f() { echo ; "
bash$ p=; : ${p:=>(f() { echo "$@"; };f foo)}; declare -p p
bash: syntax error near unexpected token `)'
bash$ p=; echo "${p:=>(f() { echo "$@"; };f foo)}"
(f() { echo ; ;f foo)}
- process substitution not correctly parsed inside variable expansion,
D630 <=