Shell echo PATH$PATH\$PATH的作用是什么?
这是我的家庭作业 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
打印“路径”回波路径
创建一个“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"