我有一个Bash脚本:
src="/home/xubuntu/Documents"
mkdir -p "$src/folder1"
src="$src/folder1"
# Do something
printf "SRC IS: $src\n"
src=`cd ..` # RETURN TO PARENT DIRECTORY
printf "SRC IS: $src\n"
基本上我想创建一个新文件夹,然后在文件夹中执行某些操作,完成后我想返回父目录Documents
。但是出于某种原因,src=`cd ..`
没有返回任何内容。
SRC IS: /home/xubuntu/Documents
SRC IS:
任何想法为什么?
答案 0 :(得分:3)
您可以访问父母:
src=$(cd ..&&pwd)
好多了,没有使用cd
:
src=${src%/*} # src is the parent directory
答案 1 :(得分:2)
cd只是改变目录,而不是显示它;这是用pwd完成的;即。
cd ..
src=`pwd`
#or slightly faster
src=$PWD
答案 2 :(得分:0)
发生的事情是您将命令“cd ..”的输出分配给src (正如你在命令行上看到的那样),什么都没有。使用readlink -f来完成你需要的东西。
你要做的是:
src="/home/xubuntu/Documents"
mkdir -p "$src/folder1"
src="$src/folder1"
# Do something
printf "SRC IS: $src\n"
src=`readlink -f $src/..` # RETURN TO PARENT DIRECTORY
printf "SRC IS: $src\n"
我认为那就是你想做的事情,将src返回给它的父文件夹。