Linux教程Shell
首页
基础知识
Linux业界
Linux系统
Linux人物
Linux文化
Linux资讯
Linux综合
当前位置:
Linux教程
-
Shell
- bash, Shell Scripts
bash, Shell Scripts
众所皆知地,UNIX上以小工具着名,利用许多简单的小工具,来完成原本需要
大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平
台。
在众多的小工具中,Shell Script算得上是最基本、最?nbsp;system is FreeBSD\"
echo \"Do FreeBSD stuff here...\"
;;
*)
echo \"Unknown system : $SYSTEM\"
echo \"I don\t what to do...\"
;;
esac
select name [ in word; ] do list ; done
select顾名思义就是在word中选择一项
范例
#!/bin/sh
WORD=\"a b c\"
select i in $WORD ; do
case $i in
a)
echo \"I am A\"
;;
b)
echo \"I am B\"
;;
c)
echo \"I am C\"
;;
*)
break;
;;
esac
done
执行结果
[foxman@foxman bash]# ./select_demo
1) a
2) b
3) c
#? 1
I am A
1) a
2) b
3) c
#? 2
I am B
1) a
2) b
3) c
#? 3
I am C
1) a
2) b
3) c
#? 4
[foxman@foxman bash]#
if list then list [ elif list then list ] ... [ else list ] fi
几种可能的写法
if list then
do something here
fi
if list then
do something here
else
do something else here
fi
if list then
do something here
elif list then
do another thing here
fi
if list then
do something here
elif list then
do another thing here
else
do something else here
fi
这里要迁扯到Exit Status的问题,等我将Exit Status的问题说明完再回来继
续。
while list do list done/until list do list done
范例一 : 无限圈写法
#!/bin/sh
while : ; do
echo \"do something here\"
sleep 5
done
范例二
这里要迁扯到Exit Status的问题,等我将Exit Status的问题说明完再回来继
续。
[ function ] name () { list; }
范例
function func(arg1,arg2) {
echo $arg1
echo $arg2
return 1
}
类同於Pascal中的function。
bash内建指令集
. filename [arguments]
source filename [arguments]
由filename中读取命令,并执行。
您会在/etc/rc.d/*中发现很多
. /xxxx
的指令,而xxxx的permission都不是可执行的。事实上,在tcsh中,需要用
source /xxxx
来做同样的指令。
注意到\".\"的後面是有空格的。filename是内含指令的纯文字档即可,无须
chmod 755 filename。
范例
filename : my_source
DEV=lo
IP=127.0.0.1
NETMASK=255.0.0.0
BROADCAST=127.255.255.255
ifconfig $IP netmask $NETMASK broadcast $BROADCAST dev $DEV
接下来
. /path/my_source
或
source my_source
便可执行该script,而不需要\"chmod 755 my_source\"
alias [name[=value] ...]
称
例如您如果来自DOS的世界,对UNIX的指令不习惯,可用alias来修改,以符合
您的习惯。
范例
alias ls=\"ls --color\"
alias dir=\"ls\"
alias cd..=\"cd ..\"
alias copy=\"cp -f\" # dangerous, recommend, cp -i
alias del=\"rm -f\" # dangerous, recommend, rm -i
alias move=\"mv -f\" # dangerous, recommend, mv -i
alias md=\"mkdir\"
alias rd=\"rmdir\"
unalias [-a] [name ...]
unalias取消alias的设定。unalias -a将全部alias取消。
范例
unalias copy
bg [jobspec]
fg [jobspec]
jobs [-lnp] [ jobspec ... ]
jobs -x command [ args ... ]
kill [-s sigspec | -sigspec] [pid | jobspec] ...
kill -l [signum]
wait [n]
bind [-m keymap] [-lvd] [-q name]
bind [-m keymap] -f filename
bind [-m keymap] keyseq:function-name
break [n]
控制圈中使用
范例
continue [n]
控制圈中使用
范例
exit [n]
离开程式。n是Exit Status。
return [n]
在function中使用。n为返回值,其作用与Exit Status一样。
builtin shell-builtin [arguments]
cd [dir]
command [-pVv] command [arg ...]
declare [-frxi] [name[=value]]
typeset [-frxi] [name[=value]]
dirs [-l] [+/-n]
echo [-neE] [arg ...]
enable [-n] [-all] [name ...]
eval [arg ...]
exec [[-] command [arguments]]
export [-nf] [name[=word]] ...
export -p
set [--abefhkmnptuvxldCHP] [-o option] [arg ...]
unset [-fv] [name ...]
fc [-e ename] [-nlr]&n
发布人:Crystal 来自:LinuxAid 专业技术支�
shell - 数值和字母表一一对应
shell - 也谈在Unix系统中杀死相关终端的进程
shell - 在awk中如何引用shell的变量
shell - 用awk显示出现在两个模式之间的内容
shell - 用sed删除由空格组成的空行
shell - 实现Hex和Dec转换
shell - SCO UNIX 5.0.5下通用菜单程序(用bsh制作,含源码)
shell - 基于PPP协议的linux与Windows CE网络
shell - 怎样把一字符串(在变量里)翻转过来,再存到变量里
shell编程例子 -- 一个.cshrc例子
shell - php4使用session的时候出现O_RDWR failed
shell - 什么格式才能让SHELL正确的替换这样两个变量
shell - shell计算明天和昨天日期的函数
shell - 大小写转化
shell - 把连你电脑的人踢出去
站点导航
Linux教程
Php
Linux
非技术类
指令大全
Shell
安装启动
Xwindow
Kde
Gnome
输入法类
美化汉化
网络配置
存储备份
杂项工具
编程技术
网络安全
内核技术
速度优化
Apache
Email
Ftp服务
Cvs服务
代理服务
Samba
域名服务
网络过滤
其他服务
Nfs
Oracle
Dhcp
Mysql
Ldap
RedHat
赞助商链接