使用$(pwd)时将文件复制到更高级别

时间:2019-03-05 08:05:38

标签: bash unix cp

我查看了以下答案,该答案与我要的答案很接近,但是我无法使答案的相关部分正常工作。

$(pwd) - one level up

我正在处理一个脚本,其中作者创建了一个变量

currentlocation=$(pwd)

然后导航到另一个名为scripts的文件夹,并使用cp -p $currentlocation/* .将所有脚本复制到Scripts文件夹中。

我在currentlocation上方的文件夹级别添加了一个新脚本,该脚本要复制到Scripts文件夹中。

如果有人能让我知道实现这一目标的代码行,我将非常感激。

我尝试过

cp -p $currentlocation/../newScript

cp -p $currentlocation/..:/newScript

但到目前为止没有运气

1 个答案:

答案 0 :(得分:0)

您可以添加以下行以从上层目录复制脚本:

cp -p ${currentlocation%/*}/newScript .

为了从包含当前工作目录的currentlocation变量中获得上一级目录,您应该删除最后一个/及其后的所有内容。

获取一级目录的另一种方法:

dir=$( dirname "$currentlocation" )dir=$( dirname "$PWD" )

无论如何,不​​建议像在您的情况中那样用“。”引用目录/目的地。而是应该使用绝对路径。