gpt4 book ai didi

php - 如何使用 cli 脚本更改终端工作目录?

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:11 24 4
gpt4 key购买 nike

我想从 cli 脚本更改 Linux 终端中的目录,不是 PHP 当前工作目录 -- 希望使用 shell_exec()。

例如:从 user@host:~$user@host:/the/other/directory$

不允许

system()exec()

这对我来说不起作用:

$dir = '/the/other/directory';
shell_exec('cd '.$dir);

也不是这些

shell_exec('cd '.escapeshellarg($dir));
shell_exec(escapeshellcmd('cd '.$dir));
pclose(popen('cd '.$dir));

但是 shell_exec('ls '.$dir) 给了我那个目录中的列表。有什么诡计吗?

最佳答案

当您像现在这样执行多个命令时:

shell_exec('cd '.escapeshellarg($dir));
shell_exec(escapeshellcmd('cd '.$dir));

这是行不通的。第一个命令与第二个命令无关,因此不能使用第一个命令的结果执行第二个命令。

如果要执行命令链,请使用管道符号 |,例如:

echo shell_exec("ls /etc/apache2 | grep fileName");

关于php - 如何使用 cli 脚本更改终端工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10463559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com