一、符号
#!用来引导内核使用哪种程序语言解释器;shell默认为#! /bin/sh 这行默认不要超过64个字符
其他语言的脚本类似
例如:#! /bin/csh -f c shell的脚本,假:位置为/usr/ucb/whizprog,里面包含命令whizprog -q /dev/tty01
执行结果为/bin/csh -f /usr/ucb/whizprog -q /dev/tty01
如:#! /bin/awk -f awk脚本
; 可用来分隔同一行里的多条命令,shell会一次执行这些命令
& shell将在后台执行符合前面的命令,同时继续执行后面的命令,这意味着shell不用等到&前的命令执行完成,就可以执行下一条命令;
二、变量 name=xiaoming 没有空格!
就是为某个信息片段所起的名字,同其他程序语言一样;shell变量名的开头是一个字母或者下划线符号;
取用变量值需要在变量名称前加上$字符,值中包含空格时需加上引号“”
例子:first=xiaohong middle=xiaogang last=xiaowang #单行可进行多次赋值
fullname="xiaohong xiaogang xiaowang" 值中包含空格时使用引号
oldname=$fullname 当变量作为第二个变量的新值时,不需要使用双引号
fullname="$first $middle $last" 连接多个变量需要用到引号;
三、echo输出命令(简单的输出,负责的会使用printf)
# echo "Enter your name : " 显示提示
Enter your name:_ 键入数据
转义序列
\a 警示字符,通常是ASCII的BEL字符,用来引起用户的注意
\b 退格(Backspace)
\c 输出中忽略最后的换行字符。这个参数之后的任何字符。包括接下来的参数,都会被忽略掉(不打印)
\f 清楚屏幕(Formfeed)
\n 换行(Newline)
\r 回车(Carriage return)
\t 水平制表符
\v 垂直制表符
\\反斜杠字符
\0ddd 将字符表示成1到3位的八进制数值
四 、printf输出
printf必须手动输入换行符号\n,有无的区别如下图: