是否可以在臨時文件夾中運行bash
腳本而不是其實際駐留的臨時文件夾中?在臨時文件夾中運行腳本
我的腳本使用了很多文件名,我擔心這個文件夾中的其他名稱可能與其他名稱一致。我已根據所包含的數據對文件進行了命名,並將可重用性考慮在內。
請問mktemp -d
和tempfile -d
是否也一樣?如果是這樣,有人可以舉一個例子來說明它的用法。
在此先感謝您的回覆。
是否可以在臨時文件夾中運行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"
是否有可能在比 之一,它實際居住以外的臨時文件夾中運行bash腳本?
是的,你可以使用cd
在你的腳本來改變當前目錄
是否mktemp的-d和臨時文件-d做?如果是這樣,請有人 請舉例說明它的用法。
它不考慮內容,它會創建一個隨機名稱,並確保有沒有這樣的目錄:
tmpdir=$(mktemp -d)
cd $tmpdir
我沒有看到tempfile
一個標準的Linux系統上,我不熟悉命令。
在過去,我們只是在文件和目錄名的末尾追加$$
:
mkdir "mydir.$$"
但是,mktemp的替換用更安全和更安全的方法。
用法一般爲:
$ my_temp_dir=$(mktemp -d -tmpdir=$temp_dir -t $template)
的$template
是可選的。它允許你設置一個名字。模板包含一系列XXX
程序可以用來保證唯一的名稱。如果您未指定$temp_dir
,則通常會將該目錄置於/tmp
之下。
語法利用mktemp
創建臨時目錄,然後回顯名稱。因此,您可以捕獲創建的臨時目錄的名稱。