我现在看起来更像是一个主题(例如:Bash: How _best_ to include other scripts?,它也没有尝试过它们。
我还应该打电话给" create_sample_html.sh "文件位于" test.sh "中的同一目录中文件。
但无论我怎样尝试,当你跑步时都没有任何反应。
但是我试图在Docker容器中运行脚本时返回以下错误消息:
./ create_sample_html.sh:没有这样的文件或目录
create_php_info:找不到命令
create_html:找不到命令
test.sh:
#!/bin/bash
source ./create_sample_html.sh
IP=$(ip route get 1 | awk '{print $NF;exit}')
create_php_info "<path-to-file>/index.php"
create_html ${IP} "test1" "<path-to-file>/index.html"
exit 0
create_sample_html.sh:
#!/bin/bash
create_html() {
touch $3
echo -e "<!Doctype html>" >> $3
echo -e "<html>" >> $3
echo -e "\t<head>" >> $3
echo -e "\t\t<meta charset=\"utf-8\">" >> $3
echo -e "\t\t<title>Server $1 VHost: $2</title>" >> $3
echo -e "\t</head>" >> $3
echo -e " " >> $3
echo -e "\t<body>" >> $3
echo -e "\t\t<h1>Server $1 VHost: $2</h1>" >> $3
echo -e "\t</body>" >> $3
echo -e "</html>" >> $3
}
create_php_info() {
touch $1
echo -e "<?php phpinfo(); ?>" >> $1
}
exit 0
文件权限:
-rwxrwxr-x 1 user user 480 aug 3 20:48 create_sample_html.sh
-rwxrwxr-x 1 user user 332 aug 3 20:37 test.sh
答案 0 :(得分:0)
在create_sample_html.sh
中,删除exit 0
。
否则,test.sh
会在您采购时执行exit 0
。在同一步骤中,您也可以从源文件中删除#!/bin/bash
,因为它是不必要的,因为无论如何都将使用父脚本的shell执行这些函数。