我有多个目录,这样
~/project/foo/Debug
~/project/bar/Debug
... and so on
Run Code Online (Sandbox Code Playgroud)
文件夹project和Debug是常数。
我在Debug目录中,foo并且bar是项目名称。当我在~/project/bar/Debug,是有可能的变量设置为字符串bar,而当我在目录时,~/project/xxxxx/Debug该变量设置为xxxxx?
正如faho在他的回答中指出的那样,string如果效率至关重要,则可以使用最近添加的内置函数。然而,在这种情况下,我可能会使用它的清晰度和简洁传统的解决方案:
set var (basename (dirname $PWD))
Run Code Online (Sandbox Code Playgroud)
如果你不希望支付两种,很便宜的成本,外部命令我会做到这一点,而不是使用正则表达式:
set components (string split -- / $PWD)
set var $components[-2]
Run Code Online (Sandbox Code Playgroud)
你甚至可以在单个语句:
set var (string split -- / $PWD)[-2]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
491 次 |
| 最近记录: |