shell入门

来源:互联网 发布:谷歌拍照软件 编辑:程序博客网 时间:2024/05/18 00:19

一个最简单的脚本

计算用户个数:

$ who | wc -l

who 命令告诉你当前系统有谁登陆,wc 可以算出行数(line),字数(word)与字符数(character),用wc -l 代表只统计行数,字符“|”是管道符号,它可以在两个程序之间建立管道,who的输出变成了wc的输入, wc列出的结果就是已登陆用户的个数。

下一步是将此管道转变成一个独立的命令。
方法是把这条命令输入一个一般的文件中,然后用chmod为该文件设置执行的权限,

$ cat >nusers %建立文件,用cat复制终端的输入who | wc -l %程序内容^D %Ctrl-D表示end-of-file$ chmod +x nusers %让文件拥有执行的权限$ ./nusers %执行测试

小型shell脚本的典型开发周期:

首先直接在命令行上测试,找到合适的语法后,将他们放进一个独立的脚本里,并为该脚本设置执行的权限。之后就能直接使用该脚本。

变量

每个变量都有一个值,在shell中,变量值可以是而且通常是空值,也就是不含任何字符。空值就是null。
shell变量名称的开头是字母或下划线,变量名称的字符长度没有限制,并且可以用来保存字符串值。

  • 变量赋值方式:先写变量名称,紧接着”=”字符,最后是新值,中间完全没有任何空格
  • 当要取出shell变量值时,在变量名称前面加上“$”字符
  • 当所赋予的值内含有空格时,需要加引号
 first=isaac middle=bashevis last=singer %单次可以进行多次赋值 fullname="isaac bashevis singer"%值中包含空格时使用引号 oldname=$fullname%此处不需要引号

echo

语法: echo [string…]
用途:产生shell脚本的输出
行为模式:echo将各个参数打印到标准输出,参数之间以一个空格隔开,并以换行符号结束

$ echo "Enter your name: \c"  %显示数据Enter your name:_   %键入数据

由于echo存在不同版本上的差异,所以提出了printf

printf

语法:printf format-string [argumnets …]
第一部分是一个字符串,规定输出排列格式,最好为这个字符加上引号
第二部分是与格式声明相对也的参数列表。

0 0