shell函数的作用和用途是什么?使用声明 -F 列出

shell函数的作用和用途是什么?使用声明 -F 列出

我正在尝试快速启动我的 Linux (Centos) 知识,并尝试了解 列出的“默认”Shell 函数是什么declare -F。不知道这些函数叫什么,我只是将它们标记为“默认”。我用谷歌搜索了它,但我得到的是关于脚本的。有没有文章解释它们的用途、位置(在哪个文件中定义)、目的和用法。或者有人可以写一篇简短的文章吗?从外观上看,它们就像公用事业。

例如;declare -f _have

    PATH=$PATH:/usr/sbin:/sbin:/usr/local/sbin type $1 &>/dev/null

type $1做什么的?

顺便说一句,我从 shell 提示符创建了一个function App1 (),然后{ ls },当我使用declare -f App1find检查时LS已经成为了ls --color=auto

答案1

type是 bash 的内置命令,因此在手册中进行了描述。您的_have函数搜索您的路径和 3 个额外目录以查看您是否有程序(或别名或函数),并返回 true 或 false 值。

您的“默认”函数在启动时读取的文件读取的文件中声明。你可能会发现如何找到定义bash函数的文件?有帮助。它们的存在是因为将 Centos 组合在一起的人认为它们很有用。

答案2

感谢伊卡洛斯。我发现type是一个命令,但由于没有;作为分隔符,我认为它是其他东西。刚刚测试了VAR=Apple lsVAR=Apple ; ls,结果是一样的,现在我知道;不需要了。但现在我想知道有什么区别吗?

找到从哪里开始;/etc/profile.d/bash_completion.sh, 然后 /usr/share/bash-completion/bash_completion
谷歌搜索并找到了这个https://github.com/scop/bash-completion 谢谢!

相关内容