Bash 在临时文件夹中运行脚本
是否可以在临时文件夹(而不是它实际所在的文件夹)中运行Bash 在临时文件夹中运行脚本,bash,sed,awk,grep,Bash,Sed,Awk,Grep,是否可以在临时文件夹(而不是它实际所在的文件夹)中运行bash脚本 我的脚本使用了很多文件名。我担心许多文件名中的一个可能与文件夹中的其他文件名重合。我已经根据包含的数据命名了文件,并考虑到了可重用性 mktemp-d和tempfile-d是否也这样做?如果是这样,请有人举例说明它的用法 提前感谢您的回复。您可以在运行的脚本中轻松切换目录。Bash有一个当前工作目录的概念,您可以随时更改它。例如: dir=$(mktemp -d) cd "$dir" echo "Current directo
bash
脚本
我的脚本使用了很多文件名。我担心许多文件名中的一个可能与文件夹中的其他文件名重合。我已经根据包含的数据命名了文件,并考虑到了可重用性
mktemp-d
和tempfile-d
是否也这样做?如果是这样,请有人举例说明它的用法
提前感谢您的回复。您可以在运行的脚本中轻松切换目录。Bash有一个当前工作目录的概念,您可以随时更改它。例如:
dir=$(mktemp -d)
cd "$dir"
echo "Current directory changed: $PWD"
cd "$OLDPWD"
echo "Back in the old directory: $PWD"
是否可以在临时文件夹(而不是
它实际居住的地方
是的,您可以在脚本中使用cd
来更改当前目录
mktemp-d和tempfile-d的作用相同吗?如果是的话,有人能告诉我吗
请举例说明它的用法
它不考虑内容,它创建一个随机名称,并确保没有这样的目录:
tmpdir=$(mktemp -d)
cd $tmpdir
我在标准Linux系统上看不到
tempfile
,而且我对该命令也不熟悉
在过去,我们只是在文件名和目录名的末尾添加$$
:
mkdir "mydir.$$"
但是,mktemp用一种更安全、更安全的方法取代了这种方法
使用方法一般为:
$ my_temp_dir=$(mktemp -d -tmpdir=$temp_dir -t $template)
$template
是可选的。它允许您设置名称。模板包含一系列的XXX
,程序可以使用这些模板来保证名称的唯一性。如果不指定$temp\u dir
,它通常会将目录放在/tmp
下
该语法利用了mktemp
创建一个临时目录,然后回显名称的优点。因此,您可以捕获创建的临时目录的名称