私はこの機能をbashスクリプトに入れて、新しいjekyll投稿を作成します。引数をコマンドが見つからないとして返します。Bash関数の引数がエラー "コマンドが見つかりません"を返します
function new_post() {
if [ -z "$1" ]
then
read -p "Post Title:" TITLE
else
TITLE= "$1"
fi
FILE=$(echo $TITLE | tr A-Z a-z | tr ' ' _)
echo -e '---\nlayout: post\ntitle: '$TITLE'\npublished: false\n---\n' > $(date '+%Y-%m-%d-')"$FILE"'.md'
}
をしかし、私はそれを実行しようとするたびにそれが返されます:ここではスクリプトです
$>new_post "Hello World"
-bash: Hello World: command not found
それはコマンドとして引数を実行しようとしているように見えます。
私もこれを試してみましたが、
$>TITLE= "Hello World" && echo -e ---layout: post\ntitle: "$TITLE"\n---
-bash: Hello World: command not found
同じ結果を得た誰もが、私が間違ってやっているものを私に伝えることができますか?
もちろんです。 'VAR = VALUE PROGRAM'は、' PROGRAM'の環境に対してのみ変数 'VAR'を定義します。 OPの場合、シェルはコマンドとして '' $ 1 ''を解釈し、(空の)環境変数の定義として' TITLE = 'を解釈します。 –