shell脚本

来源:互联网 发布:mac 恢复 不了 编辑:程序博客网 时间:2024/06/10 08:16
#! /bin/sh

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



原创粉丝点击