linux – 如何cat <>包含代码的文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 如何cat <>包含代码的文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1885字,纯文字阅读大概需要3分钟。
内容图文
![linux – 如何cat <>包含代码的文件?](/upload/InfoBanner/zyjiaocheng/953/1fd9276ef17a42f1b0b6f730b53ca569.jpg)
我想使用cat<<< EOF>>将代码打印到文件中:
cat <<EOF >> brightup.sh
!/bin/bash
curr=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ $curr -lt 4477 ]; then
curr=$((curr+406));
echo $curr > /sys/class/backlight/intel_backlight/brightness;
fi
EOF
但是当我检查文件输出时,我得到了这个:
!/bin/bash
curr=1634
if [ -lt 4477 ]; then
curr=406;
echo > /sys/class/backlight/intel_backlight/brightness;
fi
我尝试使用单引号,但输出也带有单引号.我该如何避免这个问题?
解决方法:
你只需要一个微小的变化;在<<之后单引号here-document分隔符.
cat <<'EOF' >> brightup.sh
或等效反斜杠 – 逃避它:
cat <<\EOF >>brightup.sh
如果没有引用,这里的文档将进行变量替换,反引号将被评估等,就像你发现的那样.
如果需要扩展某些值,而不是所有值,则需要单独转义要防止的值.
cat <<EOF >>brightup.sh
#!/bin/sh
# Created on $(date # : <<-- this will be evaluated before cat;)
echo "\$HOME will not be evaluated because it is backslash-escaped"
EOF
会产生
#!/bin/sh
# Created on Fri Feb 16 11:00:18 UTC 2018
echo "$HOME will not be evaluated because it is backslash-escaped"
正如@fedorqui所建议的,这是man bash的相关部分:
Here Documents
This type of redirection instructs the shell to read input from the
current source until a line containing only delimiter (with no
trailing blanks) is seen. All of the lines read up to that point are
then used as the standard input for a command.The format of here-documents is:
06004
No parameter expansion, command substitution, arithmetic expansion,
or pathname expansion is performed on word. If any characters in word
are quoted, the delimiter is the result of quote removal on word, and
the lines in the here-document are not expanded. If word is
unquoted, all lines of the here-document are subjected to parameter
expansion, command substitution, and arithmetic expansion. In the
latter case, the character sequence \ is ignored, and \
must be used to quote the characters \, $, and `.
内容总结
以上是互联网集市为您收集整理的linux – 如何cat <>包含代码的文件?全部内容,希望文章能够帮你解决linux – 如何cat <>包含代码的文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。