linux - 脚本不提取 tar

标签 linux shell

我有这个脚本 shell ,它提取并安装 libpcap 库

#!/bin/sh
PATH=/usr/src
wget=/usr/bin/wget
tar=/bin/tar

echo "###############"
echo "INSTALL LIBPCAP"
echo "###############"
$tar -xvf libpcap-1.3.0.tar.gz
cd libpcap-1.3.0
./configure --prefix=/usr
make && make install

当我执行它时,我有这个错误

tar (child): gzip: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
/bin/tar: Child returned status 2
/bin/tar: Error is not recoverable: exiting now
./install.sh: 14: cd: can't cd to libpcap-1.3.0

最佳答案

您已将 PATH 更改为/usr/src,因此当 tar 尝试执行 gzip 时,它找不到它,因为它只在/usr/src 中查找。您需要将 gzip 的位置添加到 PATH(以及配置脚本将调用的每个工具的位置,以及 make),或者显式调用它而不是让 tar 调用它,或者(最佳选择) ,不要修改 PATH。如果您坚持更改 PATH,请尝试 PATH=/usr/src:/usr/sbin:/usr/bin:/sbin:/binPATH=/usr/src:$PATH ,但实际上最好不要管它,将名为 src 的目录放入其中真的很奇怪。

关于linux - 脚本不提取 tar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795701/

相关文章:

linux - 如何在 Linux Shell 脚本文件中包含文件?

linux - Linux 中使用 readdir() 的 Level 2 I/O 可能吗?

linux - 如何使用 Shell 脚本验证 IP 是否被特定服务器使用?

linux - 为什么 bash test.sh 有效而 ./test.sh 无效?

linux - 如何在 shell 行中捕获选项卡按钮?

php - 我们可以使用 Linux 命令行或 PHP 脚本将 "mac"字体转换为 "pc"字体吗?

linux - 如何使用 sed 或 awk 在单独的文件中使用模式 grep 行

打印可用内存和总内存的 Linux 基本脚本

Bash set +x 没有被打印

shell - Shell 脚本中的循环变量和 `unset`