Shell echo PATH$PATH\$PATH的作用是什么?

Shell echo PATH$PATH\$PATH的作用是什么?,shell,ubuntu,ubuntu-12.04,Shell,Ubuntu,Ubuntu 12.04,这是我的家庭作业 echo PATH$PATH\$PATH的作用是什么 我不知道这是怎么回事 回波路径打印“路径” $PATH创建一个“PATH”变量。。。也许吧 \$PATH表示在执行时应忽略“$” 因此,该行只是有两个回送路径,没有实际用途,并打印$PATH位置?我认为ubuntu上的默认shell已经被bash使用了一段时间,所以我假设这就是您正在使用的,尽管下面的内容也适用于所有兼容POSIX的shell以及其他shell $PATH展开变量PATH,\转义下一个字符,阻止shell

这是我的家庭作业

echo PATH$PATH\$PATH的作用是什么

我不知道这是怎么回事

  • 回波路径
    打印“路径”
  • $PATH
    创建一个“PATH”变量。。。也许吧
  • \$PATH
    表示在执行时应忽略“$”

因此,该行只是有两个
回送路径
,没有实际用途,并打印
$PATH
位置?

我认为ubuntu上的默认shell已经被bash使用了一段时间,所以我假设这就是您正在使用的,尽管下面的内容也适用于所有兼容POSIX的shell以及其他shell

$PATH
展开变量
PATH
\
转义下一个字符,阻止shell将其解释为特殊字符

如果我们假设
路径
包含
/bin:/usr/bin
,那么如果您运行:

echo PATH $PATH \$PATH
shell将首先展开变量(1),然后执行结果(2)

So(1)给出:

当按步骤(2)运行时,将输出:

PATH /bin:/usr/bin $PATH

到控制台。

$PATH
不创建
路径
变量,而是按上述方式展开变量。如果要创建新的,应使用:

PATH="Something"

你试过了吗
echo$PATH
不创建变量,它打印已经存在的变量的当前内容。我想我表达错了,这不是我做的,它在我的家庭作业中,它是有效的,只是我不知道它是如何工作的。你应该坐在电脑前,打开一个外壳,用三个
echo
命令进行实验,从
PATH
开始,然后是
$PATH
,然后是
\$PATH
。这很简单,对于任何想从事编程或计算机工作的人来说,自我教育都是必不可少的。请参阅“小心。修改
$PATH
的值很容易扰乱您的环境,使执行任何命令都变得困难。(问题表明OP可能没有意识到这一点。)
PATH=“某物"
将完全覆盖路径,如果天真地这样做,您的shell将变得无用。在登录shell脚本中天真地这样做可能会使您的帐户对没有经验的用户毫无用处。虽然答案试图提供帮助,但它打开了一个潜在的大量蠕虫,并且应该解释潜在的问题。t是否需要bash的假设?我想不出任何兼容POSIX的shell在这种行为上会有什么不同。@CharlesDuffy这是真的,有许多其他shell将提供相同的行为;肯定是所有兼容POSIX的shell,加上许多不兼容POSIX的shell。
PATH="Something"