Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让shell脚本在执行时解压多个文件?_Shell_Heredoc - Fatal编程技术网

如何让shell脚本在执行时解压多个文件?

如何让shell脚本在执行时解压多个文件?,shell,heredoc,Shell,Heredoc,我希望在shell脚本文件中有几个文本文件,一旦脚本执行,这些文本文件就会解压到一个目录中。我一直在使用类似以下内容的“here doc”解决方案: cat>myTextFile.txt<<'EOF' My Content EOF tar xf - <<EOF The uuencoded tarball EOF $ (echo tar cf - '<<EOF'; cat your_here_doc; echo EOF) >self_expand

我希望在shell脚本文件中有几个文本文件,一旦脚本执行,这些文本文件就会解压到一个目录中。我一直在使用类似以下内容的“here doc”解决方案:

cat>myTextFile.txt<<'EOF'
My Content
EOF
tar xf - <<EOF
The uuencoded tarball
EOF
$ (echo tar cf - '<<EOF'; cat your_here_doc; echo EOF) >self_expanding_files.sh

cat>myTextFile.txt您可以结合使用
find
cp
命令吗?像这样的


find/path/to/your/files-exec cp{}/destination/path\

您可以结合使用
find
cp
命令吗?像这样的


find/path/to/your/files-exec cp{}/destination/path\

创建一个tar归档,然后将其作为二进制负载附加到脚本中,怎么样。在这里可以找到一个非常好的教程:


其他选项包括这样的脚本,它们为您完成所有工作,使构建更容易自动化。

创建一个tar归档,然后将其作为二进制负载附加到脚本中如何。在这里可以找到一个非常好的教程:


其他选项包括这样的脚本,它们为您完成所有工作,使构建更容易自动化。

您可以在脚本中嵌入uuencoded tar文件,并按如下方式解压缩:

cat>myTextFile.txt<<'EOF'
My Content
EOF
tar xf - <<EOF
The uuencoded tarball
EOF
$ (echo tar cf - '<<EOF'; cat your_here_doc; echo EOF) >self_expanding_files.sh
然后将文件
粘贴到此处\u doc
此处
“uuencoded tarball”
行如下所示:

cat>myTextFile.txt<<'EOF'
My Content
EOF
tar xf - <<EOF
The uuencoded tarball
EOF
$ (echo tar cf - '<<EOF'; cat your_here_doc; echo EOF) >self_expanding_files.sh

$(echo tar cf-”您可以在脚本中嵌入uuencoded tar文件,并按如下方式解压:

cat>myTextFile.txt<<'EOF'
My Content
EOF
tar xf - <<EOF
The uuencoded tarball
EOF
$ (echo tar cf - '<<EOF'; cat your_here_doc; echo EOF) >self_expanding_files.sh
然后将文件
粘贴到此处\u doc
此处
“uuencoded tarball”
行如下所示:

cat>myTextFile.txt<<'EOF'
My Content
EOF
tar xf - <<EOF
The uuencoded tarball
EOF
$ (echo tar cf - '<<EOF'; cat your_here_doc; echo EOF) >self_expanding_files.sh

$(echo tar cf-“感谢您的建议……我更喜欢将文件以某种方式封装在bash脚本中,因为它需要作为单个文件分发感谢您的建议……我更喜欢将文件以某种方式封装在bash脚本中,因为它需要作为单个文件分发tarball是正常的然后让用户解包。这是你的选择吗?@glenn,谢谢你的建议。我只是想看看是否有可能,我想要一个可以执行解包的文件,并将管道中的所有文件都准备好,而不使用tar。你似乎在某种程度上重新实现了
shar
命令(尽管听起来你的脚本不仅仅是解压几个文件)。我从来没有听说过shar
,但我很感兴趣。对于手册页!分发tarball并让用户解包是正常的。这是您的选择吗?@glenn,谢谢您的建议。我只是想看看是否可能,我想有一个可以执行解包的文件,并为pipeli准备好所有文件不使用tar,您似乎在某种程度上重新实现了
shar
命令(尽管听起来您的脚本不仅仅是解包几个文件)。我从未听说过shar
,但我非常感兴趣。对于手册页!我喜欢这个想法,并了解它是如何解包的,但我如何嵌入未编码的tar文件?我喜欢这个想法,并了解它是如何解包的,但我如何嵌入未编码的tar文件?