Posts Tagged ‘Shell’

自己动手写Linux Shell(三) —— 支持IO重定向

1 Comment »

音频片段:需要 Adobe Flash Player(9 或以上版本)播放音频片段。 点击这里下载最新版本。您需要开启浏览器的 JavaScript 支持。

A Winter Story — from Love Letter OST

1.IO重定向功能分析

IO重定向也是Shell的基本功能之一,这篇文章http://www.ibm.com/developerworks/cn/linux/l-iotips/比较全面地介绍了Linux Shell的IO重定向功能。总结一下,IO重定向的大致格式是这样:

cmd  [src | &]     (> | < | >> )      (& num|-)  | dst

貌似写得有点复杂(我不是故意的)。解释一下,整个重定向语句由三部分组成:

Read the rest of this entry »


自己动手写Linux Shell(二) —— 支持后台执行

2 Comments »

在写完一个最简单的命令解释器以后,我给自己的shell起了个名字——jdsh(JackalDire Shell)。

本来以为加入后台执行不是什么难事,但是认真想了一下要处理好一个字符‘&’不是一般的麻烦,各种问题接踵而至,于是决定先找点轻松的活干。

1.加入shell内建命令

Read the rest of this entry »


自己动手写Linux Shell(一) —— 简单的命令解释器

2 Comments »
晓之车 ~piano version~ — 梶浦由记

音频片段:需要 Adobe Flash Player(9 或以上版本)播放音频片段。 点击这里下载最新版本。您需要开启浏览器的 JavaScript 支持。

寒假在做Linux Kernel Project这本书上的习题,第二章的练习是写一个简单的shell,看了一下要求觉得这个练习很有价值,涉及到很多Linux C Programming的知识,所以准备认真地做一下。

    最终的目标如下:

  1. 命令解释执行
  2. 支持后台执行(&)
  3. 支持输入输出重定向(< , >, >>)
  4. 支持管道IPC
  5. 内建命令cd, pwd, exit等

可见写一个shell并不是一件简单的事,从简单的一步一步做起吧,手头有APUE,一边做一边查。

Read the rest of this entry »