【问题标题】:How to remove end folder name from a path in Linux script?如何从 Linux 脚本中的路径中删除结束文件夹名称?
【发布时间】:2015-06-02 10:59:42
【问题描述】:

我正在尝试在 Linux 中创建一个类似于 cd.. in DOS 的简单命令。我尝试的是制作一个脚本,通过删除最后一个文件夹名称将目录更改为路径,我必须从 pwd 获取该路径。

所以对于路径:/home/usr/Downloads/images 我想得到/home/usr/Downloads

【问题讨论】:

  • 只需在cd.. 之间添加一个空格。在 DOS 中,这是被承认的,但在 unix 中却不是。所以cd .. 就足够了。

标签: linux shell


【解决方案1】:

您可以使用dirname 命令来执行您的要求,它会从文件中删除最后一个“部分”。如果你给它的是一个目录,你会得到父目录。

parent=$(dirname /your/path/here)

但是用脚本执行cd.. 是不可能的 - cd 只会影响运行脚本的 shell,而不影响调用脚本的 shell。

所以你必须使用别名或函数。

alias cd..='cd ..'

或者

cdp() {
  cd ..
}

【讨论】:

  • 我在 .bashrc 中添加了一个别名,虽然我不知道 linux 中的 'cd ..',但我一直尝试使用 'cd..'
猜你喜欢
  • 1970-01-01
  • 2015-08-17
  • 2020-03-19
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 2016-01-09
相关资源
最近更新 更多