HTMLテンプレートを生成するBashスクリプトが必要です。テンプレートには、コマンドラインでの入力引数に基づくライブラリが含まれます。ここに私の考えは次のとおりです。HTMLテンプレートを生成するBashスクリプト
#!/bin/bash
function libraries
{
if [ "$1" == "bootstrap" ]; then
echo "<link type="text/css" rel="stylesheet" href="css/bootstrap.css" />"
fi
}
##### Main
cat << _EOF_
<!DOCTYPE html>
<html>
<head>
<title> </title>
$(libraries)
</head>
<body>
</body>
</html>
_EOF_
私は./template_creator.sh bootstrap
を実行すると、私はこの出力を得る:
<!DOCTYPE html>
<html>
<head>
<title> </title>
</head>
<body>
</body>
</html>
私はif文を含めるとちょうどエコーされない場合は、それが正常に出力します。だから私はトラブルがifステートメントにあると思っています。助言がありますか?
この方法で複数の引数を使用できますか? – iCodeYouCodeWeAllCode
@iCodeYouCodeWeAllCode:もちろんですが、気をつけなければ混乱する機会がたくさんあります。たとえば '$(somefunc" $ 2 "" heading "" $ 1 ")'を使用した場合、関数 '$ 1'はスクリプトの第2引数を参照し、' $ 3'は最初のものを参照します。関数が何をするかという点でこれが意味があれば、素晴らしい!しかし、全体を通して一貫性のある参照があることが明確になるならば、グローバルはより良い方法です。それぞれの状況で最も明白なものに基づいてアプローチを組み合わせることもできます。 –