我在终端中执行一个 .sh 文件时,它会提取 sh 文件内的一些 jar 文件,如何创建这样的 sh 文件?我无法在普通 gedit 中打开该 sh 文件来检查内容。有什么办法吗?
答案1
使用莎尔用于 Shell 档案
使用创建 shell 档案莎尔公用事业。 例如:
# Create some fixture data to archive.
cd /tmp
mkdir -p foo/bar/baz
touch foo/bar/baz/quux
# Create the shell archive.
find foo/ -exec shar {} + > quux.sh
# Remove fixture data.
rm -rf foo/
# Extract archive to recreate directories and files.
sh quux.sh
您可以使用 验证这是否重新创建了您的数据ls -R foo
。此外,如果您检查quux.sh,你会发现它由一系列简单的 shell 命令组成。如果需要,你可以将这些命令直接插入另一个 shell 脚本中,或者从另一个脚本调用存档来解压它。
注意事项
BSD 版本的莎尔macOS 上没有单独的编码步骤,无法处理二进制数据,而 GNU 版本有各种编码选项可供使用。如果你的 shar 版本不支持二进制编码,你最好使用更强大的存档选项,例如柏油。 你的旅费可能会改变。
答案2
要压缩文件或一组文件,您可以使用gzip
UNIX 中的命令。
要压缩单个文件,请使用:-
$ gzip filename
它将创建一个名为 的文件filename.gz
。
要压缩文件夹,请先创建一个.tar
文件,然后将其压缩。
让文件夹的名称为shell
。
要创建.tar
文件,请使用:-
$ tar cvf filename.tar shell/.
它将创建一个名为filename.tar
现在使用
$ gzip filename.tar
它将创建一个名为的文件filename.tar.gz
。
因此,您可以通过这种方式压缩文件。
注意:要解压缩文件,您可以使用gunzip
命令。