我们知道将文本文件file.txt
的内容发送到从标准输入读取的脚本很简单:
the_script < file.txt
假设我想做与上面相同的事情,除了我有一个额外的文本行,我想通过文件的内容发送到脚本跟随?当然必须有一个比这更好的方法:
echo "Here is an extra line of text" > temp1
cat temp1 file.txt > temp2
the_script < temp2
这可以在不创建任何临时文件的情况下完成吗?
答案 0 :(得分:2)
有几种方法可以做到这一点。现代shell(Bash和ksh93)具有支持从stdin读取单个值的功能,称为 here string :
cat - file.txt <<< "Extra line"|the_script
cat
的第一个参数是连字符-
,它从标准输入读取。 here字符串遵循<<<
表示法。
答案 1 :(得分:2)
以cdarke的答案为基础,使其从左到右可读:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/current_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<FrameLayout
android:id="@+id/overlay_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</RelativeLayout>
答案 2 :(得分:0)
这应该在bash
:
{ echo "Here is an extra line of text"; cat file.txt; } < the_script