当前位置: 首页 > 知识库问答 >
问题:

Bash Linux-在if语句中调用函数[duplicate]

施权
2023-03-14

我可能有些小问题

如何在bash中调用if语句中定义的函数?

看看我的例子:

#!/bin/bash -x
Variable_A=xyz

function_x() {

echo "hello everyone"
}

#here I want to define a if statement after the function
if Variable_A == working;then
function_x()

#here I have a while for the parameters in bash example:
while [[ $# -gt 0 ]]
do
key="$1"
    case $key in
        -s|--status)
        Variable_A="$2"
        shift
        shift
        ;;
    esac
done

所以我的想法是,当我运行脚本时,让我们称之为测试。sh它在bash中运行脚本exp:

./test.sh working

我不知道如何创造这样的东西,也许你们中的一些人可以在这方面帮助我。

先谢谢你

共有1个答案

胡国兴
2023-03-14

您的if应该看起来像:

#here I want to define a if statement after the function
if [ "$Variable_A" = "working" ]
then
  function_x
fi

您需要以fi结束每个if语句,并且在没有()的情况下调用函数。
https://www.thegeekdiary.com/bash-if-loop-examples-if-then-fi-if-then-elif-fi-if-then-else-fi/

关于if语句的另一个重要注意事项。在[]前后需要一个空格。

您的if逻辑也应该在读取脚本参数并设置变量A之后。

 类似资料:
  • 问题内容: 函数声明如何处理? 此示例在Chrome和Firefox中产生不同的输出。Chrome输出,而FF输出。 问题答案: 当问这个问题时,ECMAScript5(ES5)盛行。在ES5的严格模式下,函数声明不能​​嵌套在一个块中,如问题所示。在非严格模式下,结果是不可预测的。不同的浏览器和引擎针对如何处理块内的函数声明实现了自己的规则。 许多浏览器都支持ECMAScript2015(ES2

  • 我试图在一个保护语句中调用一个名为“nextPage”的函数,但它说“()”不能转换为“Bool”。要调用此函数,我需要做什么

  • 行动时刻 - 在unlang中使用if语句 if语句本身并不复杂。 它具有以下格式: if(condition){ ... } 由于其许多可能性,条件部分可能变得复杂。 使用if语句获取返回码 我们现在将查看模块的返回代码,并使用此代码与指定的条件进行比较。 FreeRADIUS中的每个模块都需要在调用时返回代码。 随后可以将此代码的值用作if语句中的条件检查。 使用if语句授权用户 如

  • 但是,VSC告诉我“构造函数调用必须是构造函数中的第一条语句”。我怎样才能克服这个问题?

  • 我使用以前的div,现在我想设置一个警报,如果div被移动到最左边。这是div: 现在它的宽度设置为,这是从早期的函数计算出来的。我想提醒时,它的边距左等于。我在js中尝试过这个,但没有运气: 有人能帮我解决这个问题吗?真正头疼的是我不能将更改为。

  • 问题内容: 基本上,我有一个react组件,其功能主体如下:(这是我的理想组件,这意味着它当前不起作用) 问题答案: 不完全一样,但是有解决方法。在React的文档中有一节关于条件渲染,您应该看一下。这是使用内联if-else可以做什么的示例。 您也可以在render函数中处理它,但是要在返回jsx之前。 还值得一提的是ZekeDroid在评论中提到的内容。如果您只是检查条件而又不想呈现不符合要求