首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

shell脚本学习指南札记-2.入门

2012-07-25 
shell脚本学习指南笔记-2.入门?2.1?who | wc -lwho? 查看登录的用户wc 字数计算? line 行数? word 字数? c

shell脚本学习指南笔记-2.入门

?

2.1

?

who | wc -l

who? 查看登录的用户

wc 字数计算? line 行数? word 字数? character 字符数

-l?? line 行数

|? 管道符?? 在两程序之间建立管道? who的输出成了wc的输入? wc所列出的结果就是已登录用户的个数

?

?

?

$ cat > nusers??????????????????? 建立文件,使用cat复制终端的输入

who | wc -l???????????????????????? 程序的内容

^D????????????????????????????????????? Ctrl + D表示结束

$ chmod 744 nusers????????? 让文件有执行的权限

$ ./nusers????????????????????????? 执行输出

??????????? 6??????????????????????????? 输出的结果

?

2.5.2

$ myvar=this_is_a_long??? 设置变量

this_is_a_long?????????????????? 输出显示

?

?

first=isaac middle=bashevis last=singer??????

单行可以多次赋值

?

fullname="isaac bashevis singer"

有空格时请使用引号

?

oldname=$fullname

这样也行,但不需要使用引号

?

newname="$first $middle $last"

多个变量相连时,要使用引号

?

echo -n "123"

打印,-n表示去掉最后的换行符

?

printf "what you name? '%s.%s'\n" sem zhang

打印,第一部分为要输出的文本?? %s? 表示动态数据的站位符,\n表示换行,printf不带换行功能

第二部分为站位符的参数列表

最后输出:what you name? 'sem.zhang'

百分符号最常用的有两个,%s用于字符串,%d用于十进字数字

参数大于站位符个数,将循环输出

如:printf "what you name? '%s.%s'\n" sem zhang sss

输出:what you name? 'sem.zhang'
???????? what you name? 'sss.'

参数小于站位符个数,缺少的部分,将忽略

如:printf "what you name? '%s.%s...............'\n" sem

输出:what you name? 'sem................'

?

tr -d 'how' < do-file.txt

在控制台中显示do-file.txt文件中的内容,但所有h o w 都不显示

<? 修改输入源

?

tr -d 'how' < do-file.txt > UNIX-file.txt

将do-file.txt文件中的内容输出到UNIX-file.txt文件中,但所有h o w都将删除

< 指定输入源??

> 指定输出源

?

tty-testl.sh

?

?

?

关于基本命令

$PATH? 是一个以冒号分隔的目录列表,你可以在列表所指定的目录下找到所要执行的命令

所找到的命令可能是编译后的可执行文件,也可能是shell脚本

默认的路径至少包含/bin与/usr/bin

名称为bin的目录用来保存可执行文件,bin是binary的缩写

如果编写自己的角本,并让shell能够自动的找到它们,只要建立自己的bin目录,并将他们加入$PATH中的列表中就可以了

如:? PATH=$PATH:$HOME/bin

?

$PATH中的空项目表示当前目录

如:PATH=:/bin:/var/bin????? 最先找当前目录

PATH=/bin:/var/bin:??????????? 最后找当前目录

PATH=/bin::/var/bin??????????? 找完bin后找当前目录,再找/var/bin目录

?

?

shell的脚本的参数

例子

#! /bin/sh#打开跟踪功能set -xecho 1st echoset +x#已关闭跟踪功能echo 2st echo
?

?

?

热点排行