基础shell小技巧01

1. 命令替换

shell脚本中最有用的特性之一是可以从命令输出中提取信息并将其赋给变量。把输出赋给变量之后,就可以随意在脚本中使用了。在脚本中处理数据时,这个特性显得尤为方便。

有两种方法可以将命令输出赋给变量。

·反引号(`)

·$()格式

# !/bin/bash

testing=$(date)
echo "the date and time are:"$testing

2. 输出重定向

最基本的重定向会将命令的输出发送至文件。bash shell使用大于号(>)来实现该操作:

command > outputfile
# 下面是demo
date > date.txt

如果输出文件已存在,则重定向运算符会用新数据覆盖已有的文件。

有时,你可能并不想覆盖文件原有内容,而是想将命令输出追加到已有文件中,例如,你正在创建一个记录系统操作的日志文件。在这种情况下,可以用双大于号(>>)来追加数据。

3. 输入重定向

输入重定向和输出重定向正好相反。输入重定向会将文件的内容重定向至命令,而不是将命令输出重定向至文件。

输入重定向运算符是小于号(<):

command < inputfile
# 下面是demo
wc < date.txt

4. 管道

有时候,你需要将一个命令的输出作为另一个命令的输入。这可以通过重定向来实现,只是略显笨拙。

这种方法的确管用,但仍然是一种比较烦琐的信息生成方式。无须将命令输出重定向至文件,可以将其直接传给另一个命令。这个过程称为管道连接(piping)。

command1 | command2
# 下面是demo
ps -ef | grep 'java'

首先用ps -ef查看所有进程信息并将此作为参数传递给grep命令,从中查询java进程。

你可能感兴趣的:(Shell,dash,linux)