通过mkdir创建目录

发布于 2024-12-07 06:01:44 字数 280 浏览 0 评论 0原文

我想在 /tmp/vnc/ 中创建一个以用户名命名的文件夹,我可以使用 perl -e 'mkdir("$ENV{USER}")' 在命令行中创建该文件夹,但对于以下代码无法工作。

chdir ("/tmp/vnc") or die -1;
mkdir ("$ENV{USER}", 0777) or die -1;

如果我在命令行中使用 mkdir -p /tmp/vnc/$ENV{USER} 来创建文件夹,则不会发生任何情况,也不会报告任何错误。

I want to create a folder named by the user name in /tmp/vnc/, I can create that folder in command line with perl -e 'mkdir("$ENV{USER}")', but for the following code cannot work.

chdir ("/tmp/vnc") or die -1;
mkdir ("$ENV{USER}", 0777) or die -1;

If I use mkdir -p /tmp/vnc/$ENV{USER} in command line to make folder, nothing happens and no error reports.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

音盲 2024-12-14 06:01:44

这对我有用。
也许/tmp/vnc目录不存在,并且chdir失败。
或者可能未定义 $USER 环境变量,因为您是从 init.d 脚本运行它,例如......
或者您可能没有 /tmp/vnc 目录的写入权限。您是否尝试过从 shell 执行 mkdir /tmp/vnc/$USER

没有细节就不可能了解更多。

It works for me.
Maybe the /tmp/vnc directory does not exist, and the chdir fails.
Or maybe the $USER environment variable is not defined, because you are running it from a init.d script, for example...
Or maybe you do not have write permissions in the /tmp/vnc directory. Have you tried executing mkdir /tmp/vnc/$USER from the shell?

Impossible to know more without details.

灰色世界里的红玫瑰 2024-12-14 06:01:44
  1. 请检查特殊变量$!对于文本错误消息,
  2. 请检查变量 $ENV{USER} 是否不包含额外的引号。我在 Windows 操作系统中的 Activer Perl 遇到了类似的问题。我的问题是在额外的引号中
  1. Please check special variable $! for text error message
  2. Please check that variable $ENV{USER} doesn't contain extra quotes. I had similar problem in Windows OS for Activer Perl. My problem was in extra quotes
梦里的微风 2024-12-14 06:01:44

也许当您运行脚本时某些东西正在重置您的环境?您可以打印 $ENV{USER} 的内容并确保它包含您认为应该包含的内容吗?

Perhaps something is resetting your environment when you are running the script? Can you print the contents of $ENV{USER} and make sure it contains what you think it should?

再浓的妆也掩不了殇 2024-12-14 06:01:44

如果 $ENV{USR} 是绝对路径(带有前导斜杠),则 chdir 是无用的,因为您没有使用相对路径

if $ENV{USR} is an absolute path (with the leading slash), then the chdir is useless since you are not using a relative path

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文