相关疑难解决方法(0)

符号链接递归 - 是什么让它“重置”?

我编写了一个小 bash 脚本来查看当我继续跟踪指向同一目录的符号链接时会发生什么。我期待它要么创建一个很长的工作目录,要么崩溃。但结果让我大吃一惊...

mkdir a
cd a

ln -s ./. a

for i in `seq 1 1000`
do
  cd a
  pwd
done
Run Code Online (Sandbox Code Playgroud)

一些输出是

${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a
${HOME}/a
${HOME}/a/a
${HOME}/a/a/a
${HOME}/a/a/a/a
${HOME}/a/a/a/a/a
${HOME}/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a
${HOME}/a/a/a/a/a/a/a/a
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

bash symlink

65
推荐指数
2
解决办法
9210
查看次数

什么是 $PWD?(与当前工作目录相比)

所以维基百科(链接)告诉我该命令pwd是“打印工作目录”的缩写,这是有道理的。

但是对于环境变量,“P”必须是打印以外的其他内容的首字母缩写词。

我听到人们谈论“当前工作目录”,这听起来更好,更直观,但环境变量似乎仍然被称为 $PWD,而不是 $CWD。从来没有人说“你检查了打印工作目录变量了吗?”。

我目前正在使用 web 应用程序服务器 uWSGI,运行时它告诉我(在 uWSGI 统计页面上):

"cwd":"/home/velle/greendrinks",
Run Code Online (Sandbox Code Playgroud)

所以他们显然喜欢(更直观的首字母缩写词)cwdover pwd

我想我想弄清楚是我误解了什么,还是只是给环境变量一个不直观的名字?

terminology environment-variables

47
推荐指数
2
解决办法
11万
查看次数

里面有命令的句子怎么续

例如,我一直试图在我的脚本文件中说“目前有 10 个人在线”。

如果没有下一行的“目前在线人员”部分,我似乎永远无法使命令工作。

目前,我有

w='who | wc -l' 
echo "There are $w people online at the moment" 
Run Code Online (Sandbox Code Playgroud)

但是,我总是以输出结束

There are who | wc -l users online at the moment 
Run Code Online (Sandbox Code Playgroud)

你如何让命令在中间工作?我一直在尝试查看和复制示例,但它似乎对我的命令替换问题没有帮助。

scripting bash

13
推荐指数
3
解决办法
1317
查看次数