shll基础讲解——不定期更新……

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
jioyo源
帖子: 3476
注册时间: 2008-10-08 13:48

shll基础讲解——不定期更新……

#1

帖子 jioyo源 » 2009-04-28 20:52

闲来没事写点shell基础知识,身为菜鸟也为菜鸟做点贡献吧……写的不对之处,希望指出,以便我及时更正,不至误导大

先从环境变量开始吧……

环境变量
shell的执行环境由一系列环境变组成。这些变量是由shell维护和管理的,其中有些变量是由shell赋值
的,但所有这些变量都可以由用户重新设置。

HOME:由login程序将它初始化为用户的注册目录的名称。即是,在用户注册完成后成为其当前目录的那个目
录。没有自变量的cd命令将当前目录切换到$HOME指定的目录。使用此变量有助于在shell过程之外保留全路
径名。当路径名为了平衡磁盘负载情况或是为了反映系统管理上的变化而发生改变时,保留路径名就变得很
有意义了。

IFS:此变量说明了哪些字符是“内部域分隔符”。这些是在空格解释期间shell使用的字符(如果要从语法上
分析某些由特定的定界符分隔的数据,可以设置IFS变量,使它包括这些特定的定界符,这样做使你的分析工作做行很轻松)。shell初始化设置的IFS变量的值,包括空格,制表符和换行符。

SHELL:当shell被调用时,它将扫描系统为此变量名而建立的说明结构,
若它找到了这一说明结构并且说明结构取值的文件名称部分有“r”字符,则此调用的shell将变为一个受限的shell。

PATH:PATH定义了shell在寻找命令时使用的查找路径。它的值是一个由冒号分隔的目录路径。它的值是一个由冒号分隔的目录路径名序列。shell初始化PATH变量为序列"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“,有很多人把.加入PATH,(表示当前目录),这样虽然方便,
但不安全,不建意这样做。(在有些unix系统中,用空串表示当前目录并设为缺省值)。如要将当前目录添
加到PATH中可用:
PATH="$PATH":.
加入其他路径方法类似……
shell中查找命令的顺序和PATH中路径的前后相关,排列越前则优先查找.PATH一般是在.profile文件中设定
的。

CDPATH:此变量定义了目录含arg的查找路径,可选的目录名用冒号分开。缺省路径是null。如果命令arg是
以/开使的,则查找路径无效。

PS1:此变量说明的字符用作系统中的基本提示字符串。若shell是交互使用的,则当shell在期望输入时,给
出PS1的值作为提示。缺省的PS1的值是"$ "(一个美元符和一个空格)

PS2:此变量说明的第二个提示字符串。当shell在它的输入中收到了换行符时,仍期望更多的输入内容,则
shell将给出PS2的值作为提示信息。PS2变量的缺省值是“> "(一个大于号跟一个空格)。

shell的环境变量有很多,可以用export查看,这里只说几个常用的。一般情况下,用户应该使用export命令,输出上
面提到的所有变量,这样这些变量的值才会传递给用户注册后建立的所有shell。在用户的profile文件的最后,一般都使用了export命令。
--------------------------------------
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
头像
非主流1987
帖子: 427
注册时间: 2008-05-09 23:50

Re: shll基础讲解——不定期更新……

#2

帖子 非主流1987 » 2009-04-28 21:32

支持lz的说```希望lz能分享一下你学习shell的经验和过程``
有什么路线么?
头像
jioyo源
帖子: 3476
注册时间: 2008-10-08 13:48

Re: shll基础讲解——不定期更新……

#4

帖子 jioyo源 » 2009-04-28 23:17

非主流1987 写了:支持lz的说```希望lz能分享一下你学习shell的经验和过程``
有什么路线么?
:em06 这个吗,我也是自己自学的,先简后难,现在也是菜鸟一个……
--------------------------------------
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
头像
ccbeing
帖子: 114
注册时间: 2009-01-06 12:27

Re: shll基础讲解——不定期更新……

#5

帖子 ccbeing » 2009-04-28 23:20

:em04 :em04


不定时的功课表

:em11

顶!
头像
c\nc
帖子: 231
注册时间: 2007-12-25 12:51

Re: shll基础讲解——不定期更新……

#6

帖子 c\nc » 2009-04-30 11:15

来学习一下 shll
Devonian
帖子: 13
注册时间: 2008-06-20 15:27

Re: shll基础讲解——不定期更新……

#7

帖子 Devonian » 2009-05-05 17:23

收藏帖子,也看看楼主的经验
头像
pcbird
帖子: 2337
注册时间: 2008-12-19 13:44
来自: 东8区

Re: shll基础讲解——不定期更新……

#8

帖子 pcbird » 2009-05-05 17:24

可以加精也

代码: 全选

 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *  
 
bluesky0512
帖子: 13
注册时间: 2008-11-24 22:19

Re: shll基础讲解——不定期更新……

#9

帖子 bluesky0512 » 2009-05-06 8:55

我是一个linux新手,在linux学习上很迷茫,不知道从什么开始学。请推荐一个学习路线,谢谢。
头像
HuaChong
帖子: 493
注册时间: 2006-09-12 17:10

Re: shll基础讲解——不定期更新……

#10

帖子 HuaChong » 2009-05-19 21:08

有心人,过来支持一下
回复