gpt4 book ai didi

linux - 将文件从目录堆栈中的目录复制到当前目录

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:37 26 4
gpt4 key购买 nike

我经常发现自己想要将文件从目录堆栈中的一个目录复制到另一个目录,我想出的最佳解决方案是 cp $(dirs -p | tail -n 1)/somefile.txt ./somefile.txt

有更好的解决方案吗?

最佳答案

可以通过DIRSTACK数组直接访问目录堆栈;不需要替换命令。

cp "${DIRSTACK[-1]}/somefile.txt" .
<小时/>

您的原始代码存在错误,原因与 ls 的输出不应以编程方式使用的原因相同;包含换行符的目录名可能会破坏它。例如:

$ pushd $'foo\nbar'
$ dirs -p | head -1
~/bin/foo

使用 dirs +0 至少可以解决该问题(假设您正确地将命令替换引用为 cp "$(dirs +N)"/somefile.txt ./somefile.txt):

$ dirs +0
~/bin/foo
bar

关于linux - 将文件从目录堆栈中的目录复制到当前目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49694460/

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