当我运行我的代码时,它拒绝在我的主目录内完成它的工作,而是从应用程序所在的位置开始。
system("cd ~");
system("curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip > tmp.zip");
system("unzip tmp.zip");
该文件未放置在正确的位置,因此程序的其余部分将无法正确执行。
当我运行我的代码时,它拒绝在我的主目录内完成它的工作,而是从应用程序所在的位置开始。
system("cd ~");
system("curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip > tmp.zip");
system("unzip tmp.zip");
该文件未放置在正确的位置,因此程序的其余部分将无法正确执行。
system()
启动一个 shell 来执行命令,然后离开 shell。
所以cd
执行了,当shell结束时,它被遗忘了。
因此,要解决您的具体问题:
将所有三个命令放在一个脚本中,并通过一次调用来执行它system()
。
您还可以执行以下操作
system("curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip > $HOME/tmp.zip");
system("unzip $HOME/tmp.zip -d $HOME/");
顺便说一句,你应该检查错误