如何保护“*”不在bash脚本中被计算?
我希望下面的bash脚本生成一个.gitignore文件,其中只包含一行如何保护“*”不在bash脚本中被计算?,bash,Bash,我希望下面的bash脚本生成一个.gitignore文件,其中只包含一行 *~ 但它会生成*~(当前目录中与此模式匹配的文件)的求值 如何保护*不被评估?在执行echo时引用它,否则它将被shell扩展: #!/bin/bash GITIGNORE=('*~') for line in "${GITIGNORE[@]}" do echo "$line" done >> .initial-gitignore 在执行echo时引用它,否则它将由shell展开: #!/b
*~
但它会生成*~
(当前目录中与此模式匹配的文件)的求值
如何保护
*
不被评估?在执行echo
时引用它,否则它将被shell扩展:
#!/bin/bash
GITIGNORE=('*~')
for line in "${GITIGNORE[@]}"
do
echo "$line"
done >> .initial-gitignore
在执行
echo
时引用它,否则它将由shell展开:
#!/bin/bash
GITIGNORE=('*~')
for line in "${GITIGNORE[@]}"
do
echo "$line"
done >> .initial-gitignore
阿努巴瓦的解决方案是正确的,但在你的情况下,你最好这样做
cat << EOF >> .initial-gitignore
*~
*.bk
*.backup
EOF
cat>。初始设置忽略
*~
*.bk
*.备份
EOF
假设您希望git忽略
*~
,*.bk
,*.backup
您可以添加或删除两个EOF
之间的任何行,anubhava的解决方案是正确的,但在您的情况下,这样做更好
cat << EOF >> .initial-gitignore
*~
*.bk
*.backup
EOF
cat>。初始设置忽略
*~
*.bk
*.备份
EOF
这是假设您希望git忽略*~
,*.bk
,*.backup
您可以添加或删除两个EOF
通用的可能重复的可能重复的任何行