首页 > 解决方案 > 使用终端调用sh文件时如何调用函数

问题描述

我在名为 main.sh 的文件中有一个代码:

#!/bin/bash
function hello() {
  echo $1
}

我想像这样从命令行调用它:

main hello teddy

它应该像hello teddy一样输出。那可能吗?。如果是,请告诉我。 先感谢您

标签: linuxbashfunctionterminalsh

解决方案


这取决于您定义函数的位置。有几个bash 启动文件在启动时运行。例如.bashrc

当一个不是登录 shell 的交互式 shell 启动时,Bash 从 ~/.bashrc 读取并执行命令,如果该文件存在的话。

因此,如果您在您的函数中定义函数,您.bashrc将能够像使用 shell 显式定义它一样运行它。


推荐阅读