awk -F":" '{print $1 }' /etc/passwd
(-n不换行)
#! /bin/sh
echo -n "Enter your name:"
read name
echo "Your name: "$name
(\c最后不打印换行)
#! /bin/sh
echo "Your name: \c"
\a 警示字符(打印时有警示声音)
\b退格
\c忽略最后的换行符(不打印这个参数之后的任何字符)
\f清除屏幕
\n换行
\r回车
\t水平制表符
\v垂直制表符
\\反斜杠
\0ddd将字符表示成1到3位的八进制数值
printf与echo类似,只是printf打印完后不自带换行。
>> 附加到文件结尾
program >> file 将program的标准附加到file的结尾处。
如果文件不存在,则会新建一个;如果存在,则会添加到文件结尾。
|建立管道
program | file 将program的标准输出作为file的标准输入。
将test2.txt的内容排序后放到test3.txt去,并删除'\r'(如果换成'\n'则不会换行,所有行连在一起)
#! /bin/sh
tr -d '\r' < test2.txt | sort > test3.txt
tr语法:
tr [ options ] source-char-list replace-char-list
用途:
转换字符。
常用选项:
-c 取source-char-list的反义
-C 与-c类似,但所处理的是字符,而非二进制的字节值。
-d 从目标输入中删除source-char-list的字符,并不转换。
-s 将重复出现的rource-char-list转成一个。
/dev/tty特殊文件
#! /bin/sh
printf "Enter new password:"
stty -echo(关闭自动打印到屏幕)
read pass < /dev/tty
printf "\nEnter again:"
read pass2 < /dev/tty
stty echo(打开自动打印到屏幕)
/dev/null
if grep pattern myfile > /dev/null
then
...
else
...
fi