Hello. The script at the end demonstrates how difficult it is sometimes to use gnu tar --files-from in automated scripts.
If I have a file "-b b" in tar, the only way to include it via --files-from is by line: --add-file="-b b" (case E in the script below) So if the list is generated automatically the generating program has to care about files starting with dashes, files including spaces, files with double quotes and probably others. Is it the expected behaviour? It would be much easier if one could force tar to consider the whole line as file name. If \n is chosen as the separator then it would be great if no spaces are considered as separators so the following lines would be fine: --add-file -b b (case C in the script below) Are there plans to fix the issue? """ SCRIPT BEGIN """ #!/bin/sh mkdir /tmp/dir cd /tmp/dir touch -- "-b b" tar -cf ../dir.tar -- . cd .. rm -rf dir printf "%s\n" "A:" tar -tf dir.tar echo printf "%s\n" "B:-b b" printf "%s\n" "-b b" >dir.list tar -tf dir.tar -T dir.list echo printf "%s\n" "C:--add-file" "C:./-b b" printf "%s\n" "--add-file" "./-b b" >dir.list tar -tf dir.tar -T dir.list echo printf "%s\n" "D:--add-file=./-b b" printf "%s\n" "--add-file=./-b b" >dir.list tar -tf dir.tar -T dir.list echo printf "%s\n" "E:--add-file=\"./-b b\"" printf "%s\n" "--add-file=\"./-b b\"" >dir.list tar -tf dir.tar -T dir.list echo """ SCRIPT END """ -- Vladimir A. Pavlov