实现一个简单的 cat 程序
使用过Unix/Linux的同学对cat程序不会默认,例如你想在terminal里面查看一个文件的内容又不想使用vim/emacs去打开文件,cat命令可以满足你的需求。
例如:
Ubuntu终端(WSL2)输入一下命令
cat hello_world.ts
cat命令的主要功能是在终端(terminal)打印出文件内容。因此我们通过以下的TypeScript代码实现这个功能。如下代码:
if (Deno.args.length != 1) {
console.log("没有输入文件!")
} else {
const filename = Deno.args[0]
const file = await Deno.open(filename)
await Deno.copy(file, Deno.stdout)
file.close()
}
运行代码的命令如下:
deno run --allow-read cat_example.ts cat_example
下面我们来讲解一下这个代码的意思:
deno的命令行参数输入通过Deno.args获取,Deno.args是一个全局的数组,可以通过其长度判断是否输入了文件。
通过Deno.args.length != 1来判断是否输入文件名称。
如果满足条件,进入else流程。
通过const filename = Deno.args[0]获取文件名。
通过const file = await Deno.open(filename)读取文件。
通过await Deno.copy(file, Deno.stdout)把文件内容输入到标准输出(Deno.stdout),进而在终端里面展示出来。
关于await, Deno.stdout等相关的知识,我会在后续文章详细讲解。
领取专属 10元无门槛券
私享最新 技术干货