如何从脚本中访问目录堆栈?

时间:2011-09-21 10:13:24

标签: bash

我在bash中使用目录堆栈(用dirs列出,用pushd / popd操作)。 我注意到,当我运行一个脚本时,它(可能是它自己的shell)有自己的d.s。

有没有办法访问d.s.在启动脚本的shell中?

例如,如果我想在堆栈的所有目录中执行相同的操作:

while [ $num -lt 0 ]
do
  num=`expr $num - 1`
  #TODO add operation here
  pushd +1
done

运行此脚本只会在当前目录中执行相同的操作$ num次,因为脚本堆栈为空。

1 个答案:

答案 0 :(得分:1)

您可以使用source在当前bash进程的上下文中运行脚本,但要注意它所做的任何事情都会影响您的进程 - 设置变量,更改目录等等。这相当于只需输入直接的脚本行。