我在这里看了很多资源,我似乎无法找到适合我的解决方案。我的配置很可能是错误的。
所有脚本都在同一目录中。为了简单起见,我将它简化为两个.sh
文件并使用简单的用例。
script1.sh
#!/bin/bash
source script2.sh
X=$(trim_quote "\"hello\"")
echo $X
script2.sh
#!/bin/bash
trim_quotes () {
echo $1 | sed 's/"//g'
}
如果我执行以下./script1.sh
,我会得到以下输出:
trim_quote: command not found
如果我在script2.sh
内测试该功能,它可以正常工作,但出于某种原因,它不同意在外部引用。
我试过了:
source ./script2.sh
PWD=$(pwd)
source $PWD/script2.sh
. script2.sh
. ./script2.sh
PWD=$(pwd)
. $PWD/script2.sh
$include script2.sh
$include ./script2.sh
PWD=$(pwd)
$include $PWD/script2.sh
所有这些都会产生相同的错误。
答案 0 :(得分:0)
这是一个错字。 trim_quoteS是函数的正确名称。
#!/bin/bash
source script2.sh
X=$(trim_quotes "\"hello\"")
echo $X
执行命令
$ ./script1.sh
hello