Any @command{tar} implementation will be able to extract sparse members from a
PAX archive. However, the extracted files will be @dfn{condensed},
i.e., any zero blocks will be removed from them. When we restore such
-a condensed file to its original form, by adding zero bloks (or
+a condensed file to its original form, by adding zero blocks (or
@dfn{holes}) back to their original locations, we call this process
@dfn{expanding} a compressed sparse file.
@file{@var{name}}.
@end enumerate
-In the unlikely case when this algorithm does not suite your needs,
+In the unlikely case when this algorithm does not suit your needs,
you can explicitly specify output file name as a second argument to
the command:
that precedes an archive member and contains a set of
@dfn{variables}, describing the member properties that cannot be
stored in the standard @code{ustar} header. While optional for
-expanding sparse version 1.0 members, use of extended headers is
+expanding sparse version 1.0 members, the use of extended headers is
mandatory when expanding sparse members in older sparse formats: v.0.0
and v.0.1 (The sparse formats are described in detail in @ref{Sparse
-Formats}.) So, for this format, the question is: how to obtain
+Formats}.) So, for these formats, the question is: how to obtain
extended headers from the archive?
If you use a @command{tar} implementation that does not support PAX
@item TAR_FORMAT
Format of the archive being processed. @xref{Formats}, for a complete
list of archive format names.
+
+@vrindex TAR_FD, info script environment variable
+@item TAR_FD
+File descriptor which can be used to communicate the new volume
+name to @command{tar}.
@end table
The volume script can instruct @command{tar} to use new archive name,
-by writing in to file descriptor 3 (see below for an example).
+by writing in to file descriptor @env{$TAR_FD} (see below for an example).
If the info script fails, @command{tar} exits; otherwise, it begins
writing the next volume.
prompt.
Finally, the most flexible approach is to use a volume script, that
-writes new archive name to the file descriptor #3. For example, the
+writes new archive name to the file descriptor @env{$TAR_FD}. For example, the
following volume script will create a series of archive files, named
@file{@var{archive}-@var{vol}}, where @var{archive} is the name of the
archive being created (as given by @option{--file} option) and
*) exit 1
esac
-echo $@{name:-$TAR_ARCHIVE@}-$TAR_VOLUME >&3
+echo $@{name:-$TAR_ARCHIVE@}-$TAR_VOLUME >&$TAR_FD
@end group
@end smallexample