我期待以下bash脚本只生成一行.gitignore文件
*~
但它会生成*~
的评估(当前目录中与此模式匹配的文件)。
#!/bin/bash
GITIGNORE=()
GITIGNORE+=("*~")
for line in "${GITIGNORE[@]}"
do
echo ${line} >> .initial-gitignore
done
如何保护*
不被评估?
答案 0 :(得分:2)
在执行echo
时引用它,否则它将被shell扩展:
#!/bin/bash
GITIGNORE=('*~')
for line in "${GITIGNORE[@]}"
do
echo "$line"
done >> .initial-gitignore
答案 1 :(得分:1)
cat << EOF >> .initial-gitignore
*~
*.bk
*.backup
EOF
假设您希望git忽略*~
,*.bk
,*.backup
您可以添加或删除两者之间的任何行EOF