0

当我运行我的代码时,它拒绝在我的主目录内完成它的工作,而是从应用程序所在的位置开始。

system("cd ~");
system("curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip > tmp.zip");
system("unzip tmp.zip");

该文件未放置在正确的位置,因此程序的其余部分将无法正确执行。

4

2 回答 2

3

system()启动一个 shell 来执行命令,然后离开 shell。

所以cd执行了,当shell结束时,它被遗忘了。

因此,要解决您的具体问题:

将所有三个命令放在一个脚本中,并通过一次调用来执行它system()

于 2013-01-03T07:47:21.403 回答
0

您还可以执行以下操作

system("curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip > $HOME/tmp.zip");
system("unzip $HOME/tmp.zip -d $HOME/");

顺便说一句,你应该检查错误

于 2013-01-03T08:18:29.150 回答