将MKDIR -P命令输出存储在变量中



我想将 mkdir -p命令输出存储在变量中。

for ex: -

HOME=/opt
MY_DIR=`mkdir -p $HOME/mydir`

所以echo $MY_DIR应该显示/opt/mydir

但是我没有得到所需的输出,任何人都可以帮忙吗?

mkdir -p没有输出(也就是说,它没有写入stdout(。

正确的行为是在之前形成您的目录名称您将其传递给mkdir

my_dir="$HOME/mydir"
mkdir -p -- "$my_dir"

如果您想从 mkdir捕获 stderr ,请将其重定向到命令替换中的stdout:

my_dir="$HOME/mydir"
mkdir_msgs=$(mkdir -p -- "$my_dir" 2>&1)
printf 'mkdir wrote the following messages: <%s>n' "$mkdir_msgs"

最新更新