精选文章

Android下使用TCPDUMP抓包Wireshark分析数据 如果想分析Android下某个APP的网络数据交互,需要在Android手机上抓包,最常用的抓包工具非tcpdump莫属,用tcpdump生成Wireshark识别的pcap文件,然后将pcap文件下载到电脑上,用电脑上的Wireshark加载pcap文件,通过Wireshark分析tcpdump抓取的数据。...

继续阅读

Mac下部署Android开发环境附加NDK 作为开发者,我们深有体会,不管是进行什么开发,为了部署开发环境,我们往往需要折腾很长时间、查阅很多资料才能完成,而且这次折腾完了,下次到了另一台新电脑上又得重新来过,整个部署过程记得还好,要是不记得又得重新开始,而且遇到Android这种GFW阻隔了开发资源下载链接的环境部署,又尤其浪费时间。所以这也是我写下这篇教程的初衷跟动力源泉,希望大家参考了这篇教程以后可以轻轻松松在Mac系统下将Android环境部署好。...

继续阅读

稍顯嚴肅的台中 坦白說,留在腦海中的台中影像並不多,來台灣之前在Booking上只訂到了台中的一家青旅,第一次住青旅有些不習慣,幹什麼都放不開。 同屋的一個男生是台灣人,不過一年中四分之三的時間在上海跟北京,這麼說來跟我還是比較有共同話題的。得之我準備花15天的時間環島,覺得太倉促了,他們大學時期花一個半月的時間也不見得能將台灣島給逛完。我只能無奈地表示,兩岸允許的簽證時間有限,自己的空閒時間更有限,只能用打卡式的旅行了,我深知正真地旅行應該慢下來,融入當地的環境,感受他們的風土人情,但第一次只能這樣作罷,以後換成民進黨上台,形勢會變成怎樣還不得而知,能否再過來還是個未知數。而我一向信奉的人生格言是秉燭夜遊,活在當下,所以,理解自己吧。...

继续阅读

為之留戀的新竹 來新竹之前本沒有對她有過高的期待,慢慢對她加分要從桃園火車站出發前往新竹開始。 在桃園火車站的候車月台上,有醒目的旅遊資料發放處,這上面的擺放的全是新竹的旅遊宣傳資料,關鍵的是資料做得非常簡潔易懂,而接下來一天的新竹之行就全部是依據這份寶典的指引來完成的。...

继续阅读

從桃園開始台灣之行 初到台灣恰逢華夏銀行系統升級,特意準備的華夏銀聯卡在桃園機場沒能派上用場,只好用建行在機場5000塊,算下來是很不划算的,但是沒辦法,誰叫我出機場就得花錢呢。 從機場打車到桃園的酒店,花了將近六百塊新台幣,到酒店時五點多,天已經漸亮了,洗漱完等到七點吃過早餐就開始補覺囉,一覺醒來已是中午,帶著換下來的衣服外出找自助洗衣店,順便覓食。...

继续阅读

  • Prev
  • Next

标准输入stdin

文章分类 : Linux, 应用与编程, 教程

前面介绍了与标准输出跟标准错误输出相对应的数据重定向符“>”跟“2>”,那么与标准输入相对应的数据重定向符“<”又有什么功能呢?简单地说,就是将原本需要由键盘输入的数据,改由文件内容或字符串来替代。接下来,我们就使用 cat 命令来体验一下什么叫做键盘输入吧。    

trevor@trevor-PC:~/linux/linux100$ ls
06
trevor@trevor-PC:~/linux/linux100$ cat > test
This is a test to show how to input content to a file named
test by the command cat , in order to end this input, we
have to press the "Ctrl+c".
Now, I prepare to press the "Ctrl+c" to end this input.^C
trevor@trevor-PC:~/linux/linux100$
trevor@trevor-PC:~/linux/linux100$ ls
06 test
trevor@trevor-PC:~/linux/linux100$ cat test
This is a test to show how to input content to a file named
test by the command cat , in order to end this input, we
have to press the "Ctrl+c".
trevor@trevor-PC:~/linux/linux100$

 

这个实例中,我们将键盘输入的内容传递给 cat 命令,cat 命令再依靠重定向命令 > 将其存入 test 文件中。需要主要注意的是,上面实例中,最后一行由于没有换行便结束了输入,导致系统未将最后一行写入缓冲区,因此,test 文件中未能保存实际输入的最后一行,倘若想保存那一行,应该换行以后再按“Ctrl+c”来结束输入。那我们是否可以使用文件内容或字符串来取代键盘输入呢?可以的,见如下实例:

trevor@trevor-PC:~/linux/linux100$ ls
06
trevor@trevor-PC:~/linux/linux100$ cat > test < ~/.bashrc
trevor@trevor-PC:~/linux/linux100$ ls
06 test
trevor@trevor-PC:~/linux/linux100$ ls -l test ~/.bashrc
-rw-r--r-- 1 trevor trevor 3353 2011-03-09 18:30 /home/trevor/.bashrc
-rw-r--r-- 1 trevor trevor 3353 2012-02-23 23:36 test
trevor@trevor-PC:~/linux/linux100$

 

我们发现,实例中两个文件的大小一样,其实内容也一模一样,几乎跟 cp 命令拷贝过来的一样。原理也不难理解,即将 ~/.bashrc 文件中的内容代替标准输入传递给 cat 命令,cat 命令再结合重定向命令 > 将其存入 test 文件中。

跟 < 不同的是,<< 只用来指定键盘输入的结束符,比方说,我要使用 cat 命令记录我在键盘输入的信息,且当我输入 end 时结束输入,那么我就可这样做:

trevor@trevor-PC:~/linux/linux100$ ls
06
trevor@trevor-PC:~/linux/linux100$ cat > test << "end"
> This is a test
> for the command
> cat, >, and <<
> The input will auto exist when I input the string "end" in a new line
> end
trevor@trevor-PC:~/linux/linux100$ ls
06 test
trevor@trevor-PC:~/linux/linux100$ cat test
This is a test
for the command
cat, >, and <<
The input will auto exist when I input the string "end" in a new line
trevor@trevor-PC:~/linux/linux100$

 

由如上实例可知,利用 << 命令右侧的指定字符,我们可以结束本次输入过程,而不必按“Ctrl+c”来终止。

除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。

本文地址:https://www.cpplive.com/html/1691.html

这里因为你的留言而存在!!!

You must be logged in to post a comment.