gpt4 book ai didi

linux - bash - 自动编译的正确方法

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:09 26 4
gpt4 key购买 nike

我正在尝试在 CentOS 下自动编译 Mono,为此我正在编写一个 bash 脚本。但我对此很陌生,我不确定这里的最佳实践是什么。

这就是我的脚本现在的样子:

# Variables
monoRepoUrl='http://download.mono-project.com/sources/mono'

monoPackageName='mono-2.10.8'
monoSubdir=$monoPackageName
srcDirectory='/usr/local/src'/$monoSubdir

monoUrl=$monoRepoUrl'/'$monoSubdir'/'$monoPackageName".tar.bz2"

# Prepare environment
echo ''
echo 'Installing pre-requisites packages'
echo ''
yum -y install gcc-c++ make httpd-devel gettext bison


######### Mono core stuff #########
echo ''
echo 'Getting Mono'
echo ''
wget $monoUrl
tar jxvf $monoPackageName.tar.bz2

$srcDirectory/configure -prefix=/opt/$monoPackageName; $srcDirectory/make; $srcDirectory/make install
echo export PKG_CONFIG_PATH=/opt/$monoPackageName/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
echo export PATH=/opt/$monoPackageName/bin:$PATH>>~/.bash_profile
source ~/.bash_profile

echo ''
echo 'End of Mono installation'
echo ''

但是,我在这里遇到的问题是更改目录不起作用 - 脚本似乎有自己的进程。保持简单的更优雅的方法是什么(例如,除非绝对必要,否则我宁愿不使用函数)?

到处使用绝对路径行吗? bash 中这种情况的最佳实践是什么?

最佳答案

如果您正在编写 bash 脚本,请确保始终使用绝对路径,bash 不接受或读取相对路径。由于您是新手,请确保还指定命令的绝对路径,例如,仅 yum 有时可能不起作用。检查哪个 yum 首先获取 yum 的绝对路径,并在 bash 脚本中指定绝对路径。确保您同时也授予了脚本执行权限

关于linux - bash - 自动编译的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com