【发布时间】:2021-11-04 00:29:30
【问题描述】:
我想在一个 bash 命令中一个一个地调用两个函数。
- 我尝试调用 bash
- ./script run delete_code run stop_node_pool - 但它执行第一个函数并停止。第二个功能没有启动。
- ./script delete_code - 如果我们给一个函数命名它对特定函数的作用。但是我需要调用我在 bash 中执行脚本时选择的两个函数。
- 如何编写一个程序来执行 script.sh 文件中可用函数列表中的任意两个函数。
我的示例代码
#!/bin/bash
delete_code() {
echo "code deleted"
$1 && shift && "@a"
}
create_code() {
echo "code created"
$1 && shift && "@a"
}
stop_node_pool() {
echo "node pool stopped"
$1 && shift && "@a"
}
start_node_pool() {
echo "node pool start"
$1 && shift && "@a"
}
EXECUTION
case $1 in
delete_code) "$@"; exit;;
create_code) "$@"; exit;;
stop_node_pool) "$@"; exit;;
start_node_pool) "$@"; exit;;
esac
delete_code
create_code
stop_node_pool
start_node_pool
【问题讨论】:
-
不,我的问题很简单,从上面的函数每次任意两个函数都需要执行时调用script.sh文件。
-
./script delete_code; ./script stop_node_pool 或添加第二个参数($2)并使用它来调用第二个函数:./script delete_code stop_node_pool
-
恐怕你的问题很不清楚。你能具体说明你想做什么。 “一次只执行两个功能”太混乱了。期望的过程/输出的一个例子会很好。
标签: bash shell loops switch-statement sh