首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash脚本未检测到第二个参数

Bash脚本未检测到第二个参数
EN

Stack Overflow用户
提问于 2020-04-21 22:36:00
回答 1查看 44关注 0票数 1

我正在用bash做一个页面生成器。当检查参数$2作为我正在生成的页面的标题时,它什么也找不到,并回显"No title supplied...“线路。

下面是包含$2的代码片段:

代码语言:javascript
复制
header() {
echo "<!DOCTYPE html>" > $filename.html
echo "<html>" >> $filename.html
echo "<head>" >> $filename.html
if [ -z "$2" ]; then
    echo "No title supplied. Using name of the file."
    echo "  <title>$filename</title>" >> $filename.html
else
    echo "  <title>$2</title>" >> $filename.html
fi
echo "  <link rel=\"stylesheet\" href=\"styles.css\">" >> $filename.html
echo "</head>" >> $filename.html
echo "<body>" >> $filename.html
echo "" >> $filename.html
}

下面是完整脚本的链接:https://ghostbin.co/paste/p8qpx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 22:42:17

在函数内部,$2引用该函数的第二个参数,而不是整个脚本。因此在调用header时必须将其作为参数进行传递

像这样

代码语言:javascript
复制
header "$2"

然后,在你的函数内部,它将是$1,因为它将是该函数调用的第一个参数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61346154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档