如何在 bash 脚本中的新终端中调用函数?
How to call a function in a new terminal, inside a bash script?
我编写了一个脚本,在其中定义了一个函数,然后我在新终端中调用了该函数。像这样:
#!/bin/sh
my_func(){
echo "hello world"
sleep 5
}
alacritty -e my_func
但是我得到一个错误:
[ERROR] [alacritty_terminal] Failed to spawn command 'my_func': No such file or directory (os error 2)
我猜新终端无法访问我在脚本中定义的函数。
我该如何解决这个问题?
alacritty -e
将 运行 一个 Linux 命令,你给它一个函数作为参数,所以它不会工作。
让它工作的唯一方法是将它分成两个脚本。我称他们为 echo.sh 和 function.sh.
echo.sh
echo "Hello man"
sleep 5
function.sh
#!/bin/sh
alacritty -e ./echo.sh
我编写了一个脚本,在其中定义了一个函数,然后我在新终端中调用了该函数。像这样:
#!/bin/sh
my_func(){
echo "hello world"
sleep 5
}
alacritty -e my_func
但是我得到一个错误:
[ERROR] [alacritty_terminal] Failed to spawn command 'my_func': No such file or directory (os error 2)
我猜新终端无法访问我在脚本中定义的函数。 我该如何解决这个问题?
alacritty -e
将 运行 一个 Linux 命令,你给它一个函数作为参数,所以它不会工作。
让它工作的唯一方法是将它分成两个脚本。我称他们为 echo.sh 和 function.sh.
echo.sh
echo "Hello man"
sleep 5
function.sh
#!/bin/sh
alacritty -e ./echo.sh