Shell 如何将TMPDIR环境变量设置到另一个目录?
我正忙于编译ffmpeg,tmp dir有一个问题,因为它是用noexec装载的: ./configure--enable-libmp3lame--enable libvorbis--disable mmx --启用共享无法在/tmp中创建和执行文件。将TMPDIR环境变量设置为另一个目录,并确保 未安装noexec。健全测试失败 如果您认为configure出错,请确保您正在使用 来自SVN的最新版本。如果最新版本失败,请报告 ffmpeg的问题-user@mplayerhq.hu邮件列表或IRC#ffmpeg on irc.freenode.net。包括由生成的日志文件“config.err” 配置,因为这将有助于解决问题 如何将TMPDIR环境变量设置到另一个目录?尝试以下操作:Shell 如何将TMPDIR环境变量设置到另一个目录?,shell,unix,Shell,Unix,我正忙于编译ffmpeg,tmp dir有一个问题,因为它是用noexec装载的: ./configure--enable-libmp3lame--enable libvorbis--disable mmx --启用共享无法在/tmp中创建和执行文件。将TMPDIR环境变量设置为另一个目录,并确保 未安装noexec。健全测试失败 如果您认为configure出错,请确保您正在使用 来自SVN的最新版本。如果最新版本失败,请报告 ffmpeg的问题-user@mplayerhq.hu邮件列表或I
TMPDIR=/some/other/dir ./configure --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared
如果您想使用新的TMPDIR执行多个命令,并且假设您使用bash作为shell,export
it优先
export TMPDIR=/some/other/dir
./configure --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared
...
我能够使用下面的代码完成它:
$ export TMPDIR=~/tmp-ffmpeg
$ mkdir $TMPDIR
$ ./configure \
--enable-gpl \
--enable-version3 \
--enable-shared \
--enable-nonfree \
--enable-postproc \
--enable-libfaac \
--enable-libmp3lame \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libxvid \
--enable-x11grab \
--extra-cflags="-I/usr/local/include" \
--extra-ldflags="-L/usr/local/lib"
$ make
$ make install
$ rm -rf $TMPDIR
$ unset TMPDIR
还有mktemp(1)
命令。因此,您可以按如下方式设置TMPDIR:
$ TMPDIR="$(mktemp -d -q ~/tmp/tmp.XXXXX)"
$ echo $TMPDIR
/home/marcelo/tmp/tmp.I8V9H
这应该适用于GNU coreutils以及BSD(macOs、FreeBSD等)。另外请注意,您不需要导出TMPDIR,然后将其取消设置。相反,请尝试直接传递变量以配置:
$ TMPDIR="/foo/bar/baz" ./configure ...
希望它能帮助别人;-)
export
是POSIX,不是特定于bash的。您的示例应该适用于任何POSIX shell。请尝试unset TMPDIR
而不是export TMPDIR=
。空字符串不是TMPDIR的良好默认值。我的案例:PKG_CONFIG_PATH=“$HOME/ffmpeg_build/lib/pkgconfig”。/configure--prefix=“$HOME/ffmpeg_build”--extra-cflags=“-I$HOME/ffmpeg_build/include”--extra-ldflags=“-L$HOME/ffmpeg_build/lib-ldl”--bindir=“$HOME/bin”--PKG-CONFIG flags=“-static”--enable gpl--enable nonfree--enable-libfdk_aac--enable libfreetype--enable-libmp3lame--enable libopus--enable libvorbis--enable libvpx--enable-libx264--enable-libx265无法在/tmp中创建和执行文件。将TMPDIR环境变量设置为另一个目录,并确保它未装入noexec。健全测试失败。