获取变量中的当前路径并使用它

R0b*_*n1k 28 linux bash

我想提取变量中的当前路径,稍后在脚本中使用它

就像是:

myvar = pwd
Run Code Online (Sandbox Code Playgroud)

稍后的:

cd myvar
Run Code Online (Sandbox Code Playgroud)

但是我的bash技能多年来一直生锈.

我将如何继续这样做?

dig*_*ter 59

myvar="$PWD"
cd "$myvar"
Run Code Online (Sandbox Code Playgroud)

(如果您的路径包含空格,则需要引号.)

  • `$(pwd)`可能比`$ PWD`更准确(但有时会提供与你预期不同的路径). (4认同)
  • 除非*命令*中有空格,否则在赋值中不需要引号 - 因此,这样可以正常工作:**myvar = $ PWD** (3认同)

Luk*_*ský 13

这样的事情应该有效:

myvar=`pwd`
# ...
cd $myvar
Run Code Online (Sandbox Code Playgroud)

  • 由于他明确地询问了bash,我会使用替代语法:`$(pwd)`,因为在我看来它更容易阅读. (2认同)
  • 关于`$(...)`没有特定的bash特异性; 它可以并且可以说应该在所有情况下使用 (2认同)

Joa*_*uer 5

除了pwd命令和$PWD环境变量之外,我还建议你研究一下pushd/ popd:

/$ pushd /usr
/usr /
/usr$ pushd /var/log
/var/log /usr /
/var/log$ popd
/usr /
/usr$ popd
/
/$