如何在没有完整path的情况下复制文件夹和父文件夹

这是一个基本的问题,但我正在努力寻找一个体面的解决scheme。 这阻碍了我的脚本自动化。

我有以下path。

/home/hassan/Dyna/ProjectSimulation 

在项目模拟中,我有3个文件夹

 friction time force 

喜欢

 /home/hassan/Dyna/ProjectSimulation/friction 

现在我在这摩擦文件夹中有一个文件friction1.txt,我想将其复制到ProjectSimulation。

是否有可能避免完整的path,只是一步下来?

另外,如果我不得不将这个摩擦力1.txt复制到文件夹强制,反正有避免完整的path。

我的意思是我有一个子程序,但这是path依赖的,每当我运行它,我必须在同一个文件夹中运行,然后复制我的结果,所以我只能运行我的模拟实例。

专家请指导我。

PS:这是600线壳体的一部分。

这是非常基本的,我一定误解了你的问题。

如果你想参考一个父目录, ..是这样做的方式。 所以,如果你想将friction1.txt复制到两个你刚刚做的地方

 cp friction1.txt .. cp friction1.txt ../force 

所有你需要照顾的是确保CWD是

/home/hassan/Dyna/ProjectSimulation/friction

所以参考指向正确的地方。

您可以临时将当前目录更改为ProjectSimulation,复制文件( cp friction/friction1.txt . ),然后将路径更改回原始路径(以便脚本的其余部分像以前一样工作)

或者,您可以使用dirname来获取父目录的名称并使用它。

转到已知目录结构的根目录。 然后用相对路径进行复制操作。 然后回到你来自的目录。

你的朋友是:

 cd cd - 

或更好:

 pushd popd 

(见男子bash)

 pushd /home/hassan/Dyna/ProjectSimulation cp friction/friction1.txt . cp friction/friction1.txt force popd