• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pppguest3962
V2EX  ›  程序员

在 Linux 的 shell 脚本里,如何调用 make && make install?

  •  
  •   pppguest3962 · Mar 23, 2022 · 2602 views
    This topic created in 1690 days ago, the information mentioned may be changed or developed.

    想做个 sh 脚本完成软件的准备工作
    其中有一步是对软件代码编译安装
    如:/tmp/mysql-5.1.71/configure --xxx 已经完成后
    要在 /tmp/mysql-5.1.71/的路径下执行 make && make install 在 sh 脚本里:
    ./testsh.sh: line 1: /tmp/mysql-5.1.73/make: No such file or directory

    请问正确姿势应该是怎么样?

    8 replies  •  2022-03-25 12:08:10 +08:00
    bootvue
    bootvue
    Mar 23, 2022❤️1
    1
    写绝对路径
    1KN6sAqR0a57no6s
    1KN6sAqR0a57no6s
    Mar 23, 2022❤️1
    2
    cd /tmp/mysql-5.1.73/
    /usr/bin/make
    /usr/bin/make install
    jaredyam
    jaredyam
    Mar 23, 2022❤️1
    3
    [makefile - How to run make file from any directory? - Super User]( https://superuser.com/questions/370575/how-to-run-make-file-from-any-directory)
    adoal
    adoal
    Mar 23, 2022 via iPhone
    4
    如#2 所说。但是 /usr/bin 是标准路径,正常情况下不会需要指定的。而且从出错信息来看寻找 make 的位置居然是在源码目录下,这太不正常了,感觉像是 PATH 被破坏了。还有它居然是在 sh 文件的 line 1 ?处处透露着诡异。
    不如把你写的 sh 内容原样贴上来大家帮你看下。这样盲猜不太好猜。
    ysc3839
    ysc3839
    Mar 23, 2022 via Android
    5
    怀疑是 X-Y Problem https://coolshell.cn/articles/10804.html
    为什么需要使用源代码编译 MySQL ?预编译的不能用吗?
    AllenHua
    AllenHua
    Mar 24, 2022
    6
    需要调用 make 的命令位置应该是在 /bin/make 才对吧……

    你得把 shell script 贴出来让大家看看才能更好 debug

    分享一个 CentOS7 下的一个编译安装 libsodium 加密库的 shell 脚本

    ```
    #!/bin/bash
    # install dependencies
    yum update -y
    yum install -y pcre pcre-devel git gettext gcc autoconf libtool automake make asciidoc xmlto c-ares-devel libev-devel

    export LIBSODIUM_VER=1.0.17
    wget https://download.libsodium.org/libsodium/releases/libsodium-$LIBSODIUM_VER.tar.gz
    tar xvf libsodium-$LIBSODIUM_VER.tar.gz
    pushd libsodium-$LIBSODIUM_VER
    ./configure --prefix=/usr && make
    #./configure && make && make check
    make install
    popd
    ldconfig
    ```
    echoechoin
    echoechoin
    Mar 24, 2022
    7
    make -C /src
    julyclyde
    julyclyde
    Mar 25, 2022
    8
    你执行的不是 make
    你执行的是./make
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1735 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 12:29 · PVG 20:29 · LAX 04:29 · JFK 07:29
    ♥ Do have faith in what you're doing.