[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/
From: |
Linda Walsh |
Subject: |
Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes? |
Date: |
Mon, 19 Oct 2015 12:49:25 -0700 |
User-agent: |
Thunderbird |
Greg Wooledge wrote:
On Sat, Oct 17, 2015 at 05:43:15PM -0700, Linda Walsh wrote:
Chet Ramey wrote:
I think you're missing that process substitution is a word expansion
that is defined to expand to a filename.
-----
??? I've never seen a usage where it expands to a filename and
is treated as such.
A simple example:
diff -u <(sort file1) <(sort file2)
----
You claim <(sort file1) is a filename?
touch a
mv <(sort a) <(sort a)
mv: cannot move ‘/dev/fd/63’ to ‘/dev/fd/62’: Operation not permitted
The OS claims that <() generates a file descriptor -- not a filename.
"<()" is not the same, nor equivalent to a filename. It represents
a *file descriptor* that you can perform stream I/O on.
It's the same with 'FILENAME'a used with "read < FILENAME >FILENAME"
read < FILE > FILE
-bash: FILE: No such file or directory # no file is created by '>'
echo content >FILE
read mycontent < FILE >FILE
echo $mycontent # empty: file truncated before read
a=<(sort a); chmod +x "$a"
chmod: cannot access ‘/dev/fd/63’: No such file or directory
echo aaa > a
read var <(sort a) && echo "var=$var" >a
## the above hangs: if <(sort a), was a filename, read would
## have read 'aaa' ## from it, and returned immediately.
## Then the 'echo' command would have put 'var=aaa'
## in 'a': instead:
cat a
aaa
The above operations show that <() is not equivalent to a filename.
It only returns a 'path' to a *device* that doesn't have file semantics
and can only be opened for read... and even that doesn't
appear to work all the time.
I observe similar inconsistencies and confusion around
the use of 'dynamic vars' -- not really being global, not really
being local, but supposedly on some dynamic frame, "somewhere",
but not anywhere they've been declared or used.
- Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Linda Walsh, 2015/10/16
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Chet Ramey, 2015/10/17
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Linda Walsh, 2015/10/17
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Chris F.A. Johnson, 2015/10/17
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Oleg Popov, 2015/10/17
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Chet Ramey, 2015/10/18
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Stephane Chazelas, 2015/10/19
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Ken Irving, 2015/10/19
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Chet Ramey, 2015/10/19
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Greg Wooledge, 2015/10/19
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?,
Linda Walsh <=
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Greg Wooledge, 2015/10/19
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Bob Proulx, 2015/10/19
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Linda Walsh, 2015/10/21
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Pierre Gaston, 2015/10/22
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Bob Proulx, 2015/10/23
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Greg Wooledge, 2015/10/26
- Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?, Ken Irving, 2015/10/19