Bash - 如何将命令的结果放入变量中?

Chu*_*sta 1 bash

例如,假设我想输入命令pwd

它给了我一个很长的路径到我所在的当前目录。

我真正想做的是让我可以进入一个完全不同的目录,并且仍然引用我所在的上一个目录,而不必记住上一个路径。

有没有办法做到这一点?

Mat*_*erg 7

您将几个不同的问题合二为一。:P
我们将首先介绍变量赋值。
要将命令的结果放入变量中,您可以使用反引号 `` 或 $() 语法。例如:

MYPWD=`pwd`
MYPWD=$(pwd)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看bash(1) 手册页中的命令替换部分。可从以下网址轻松获取:http : //linux.die.net/man/1/bash

但是,如果您的问题是关于更改到上一个目录,那么 bash 有一个内置的语法。简单地做一个cd -bash 就会把你带到你所在的地方。

# cd /usr/local/bin
# cd /var/log/apache2
# cd -
# pwd
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

对于更高级的目录/cd 处理,请查看手册页pushdpopd它允许您构建可以使用的目录堆栈。

  • 请参阅:[如何更改到上一个目录而不是上去?](http://superuser.com/questions/324512/how-can-i-change-to-the-previous-directory-instead-of-往上走) (2认同)