SHELL编程基础(二)

  

SHELL编程基础(二)

编写一个简单的程序

#this is sample //注释

echo "hello,welcome to Fedora 6"  

echo "Logged in $USER."  

env|grep PATH

echo $PATH

 

1、变量

 

1)用户变量

 

VAL=val

St?nt=tom

echo St?nt

echo $St?nt

变量引用符“$”

注意:单引号和反斜杆都可以阻止使用变量的值。双引号不会阻止变量替换,但是可以关闭大多数其他字符的特殊意义。

当使用变量作为一个参数执行一个命令时,shell将用该变量的值来代替变量名,如果变量的值包含特殊字符,如*,?,等,还会进行变量扩展。如果用””引号括起来,可以阻止bash对展开的变量进行路径名扩展。

删除变量用unset $St?nt.

2)变量属性

 

a、只读,readonly

 

bdeclare,typest

 

-a 数组变量

 

-f 函数名变量

 

-i 整形变量

 

-r 只读

 

-x 输出变量

 

默认情况下,变量的值作为字符串存放。

 

3)全局(环境)变量

 

全局变量全部用大写字母。

系统变量可以通过继承声明并初始化,也可以在shell启动时声明并初始化。可以通过命令行方式或者在初始化文件中为这些变量指定值。对于那些不由shell自动输出的变量,用户必须使用export,setenv使这些变量也可以被子shell访问。

HOME/~ 用户主目录

PATH shell搜索命令的目录

关于如何设置PATH,可以参见:

Fedora中的环境变量设置

http://blog.163.com/zhoumhan_0351/blog/static/399542272010521114234850/

 

MAIL 用户邮件

PS1 第一个提示符,可以使用的符号如下:

\:如果一行命令没有打完可以输入\来继续输入没有打完的命令称之为续行 
\!:显示改命令的历史编号 
\#:显示SHELL激活后当前命令的历史编号 
\$:显示当前用户变量值,如果当前用户是root就显示#是其他用户就显示$ 
\\:显示一个反斜杠 
\d:显示一个当前日期 
\h:显示运行该SHELL的计算机主机名 
\n:打印一个换行符导致提示符换行跟C语言语法类似 
\s:显示当前SHELL的名称 
\t:显示当前时间 
\u:显示当前用户的用户名 
\W:显示当前工作目录基准名 
\w:显示当前工作目录 

\@ 按照12小时制,AM/PM格式显示的当前时间

\! 当前事件编号

常用的系统变量:

BASH_ENV

CDPATH

COLUMNS

FCEDIT

HOME

IFS

PS1

PS2

PWD

UID

4)位置变量和特殊变量

 

set来进行设置

 

#this is sample  

if [$# -eq 0 ]  

then  

echo "not provide name"  

else  

echo "your name is "$1  

fi  

5)数组变量

 

定义:

name=(ele1 ele2 ele3 ...)

$aYear=(Spring Summer Autumn Winter)

declare -a aYear='([0]="Spring" [1]="summer")'  

引用数组中的第三个元素的值:

echo $(aYear[2])

使用下标[*],[@]都可以提取整个数组元素,但是加上比引号时意义不同,@把原数组的内容复制到一个新数组中,生成的数组和原来的一样,而*符号是把原数组中所有元素当成一个元素复制到新数组中,生成的数组只有一个元素。

参考

[1] PS1设置相关http://dong926.blog.51cto.com/386907/179816/

[2]LINUX一些常用命令以及BASH基本变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值