Shell 在鱼壳脚本中,'-*'作为case参数的含义是什么?

Shell 在鱼壳脚本中,'-*'作为case参数的含义是什么?,shell,fish,Shell,Fish,关于鱼壳的官方文件已经公布 P> >我理解,“**”就像缺省:在C++转换语句中。 大小写“-*”的含义或用法是什么?它是一个全局匹配 只要切换参数以-开头,就会执行案例“-*” 因为只会使用第一个匹配的大小写,所以最后一个大小写的大小写“*”类似于默认值:。如果你早一点吃,它会吞下所有的箱子 这里的引号也是必要的,因为否则fish会扩展glob,这意味着case-*会将当前目录中所有匹配的文件名作为参数,因此如果switched参数是当前目录中以-,开头的文件名,则为true。这是glob匹

关于鱼壳的官方文件已经公布

<> P> >我理解,“**”就像缺省:在C++转换语句中。 大小写“-*”的含义或用法是什么?

它是一个全局匹配

只要切换参数以-开头,就会执行案例“-*”

因为只会使用第一个匹配的大小写,所以最后一个大小写的大小写“*”类似于默认值:。如果你早一点吃,它会吞下所有的箱子

这里的引号也是必要的,因为否则fish会扩展glob,这意味着case-*会将当前目录中所有匹配的文件名作为参数,因此如果switched参数是当前目录中以-,开头的文件名,则为true。

这是glob匹配

只要切换参数以-开头,就会执行案例“-*”

因为只会使用第一个匹配的大小写,所以最后一个大小写的大小写“*”类似于默认值:。如果你早一点吃,它会吞下所有的箱子

这里的引号也是必要的,因为否则fish将扩展该glob,这意味着case-*将当前目录中所有匹配的文件名作为参数,因此,如果切换参数是当前目录中以-,开头的文件名,则在,我理解-*

-*是全球模式。它与*.pdf或Report_2016_*等模式没有任何不同

作者添加此检查以忽略所有以-开头的目录。它将创建一个以-开头的目录,但不会将CWD设置为它

原因,-在shell中有特殊用途

例如,cd-不会将目录更改为名为-的目录。相反,它会切换到您所在的最后一个目录

名称以-开头的目录或文件是问题的根源。下面的问题让姐妹网站给出一个想法

难怪作者决定忽略以-开头的目录。

在的帮助下,我理解了-*的用途

-*是全球模式。它与*.pdf或Report_2016_*等模式没有任何不同

作者添加此检查以忽略所有以-开头的目录。它将创建一个以-开头的目录,但不会将CWD设置为它

原因,-在shell中有特殊用途

例如,cd-不会将目录更改为名为-的目录。相反,它会切换到您所在的最后一个目录

名称以-开头的目录或文件是问题的根源。下面的问题让姐妹网站给出一个想法

难怪作者决定忽略以-开头的目录

function mkdir -d "Create a directory and set CWD"
    command mkdir $argv
    if test $status = 0
        switch $argv[(count $argv)]
            case '-*'

            case '*'
                cd $argv[(count $argv)]
                return
        end
    end
end