文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>学习shell编程

学习shell编程

时间:2010-08-18  来源:icybay

之前想写shell编程呢,突然发现自己对shell编程也仅仅是个初学者,不敢写这么大的内容,所以严谨一点,还是学习shell编程吧。

shell是与kernel相对应的概念,可以认为它是一个用户和kernel交互的工具。shell可以分为C shell 和 B shell。其中BASH是linux下面默认的shell。优点:记忆命令功能,档案比对补全功能,命令别名功能,工作控制和前景背景控制功能。

echo: 显示变量内容; env: 显示系统中主要的预设变量内容; set: 显示系统中全部的变量内容。 unset:  取消变量; export: 设定环境变量; read: 接收用户键盘输入; array: a[索引]=内容; echo ${a[索引]}; $RANDOM: 随机数; eval: 二次迭代。eval echo \$$a;  alias: 命令别名, alias rm='rm -i'; 取消别名:unalias;

系统设定档案: /etc/profile  /ect/bashrc  /etc/man.config
个人设定档案: ~/.bash_profile   ~/.bashrc  ~/.bash_history

绝对路径与相对路径

命令重导向: stdin: 0; stdout: 1; stderr: 2;
ls -al > list.txt or ls -al >> list.txt  or  ls -al 1>list.txt 2>list.err  or ls -al 1>list.txt 2>&1  or ls -al 1>list.txt 2> /dev/null

管线命令: |: last | grep root |wc -l
cut: 同一行的数据进行分解
sort: -n:纯数字排序  -r:反向排序  -u:相同行只出现一次
wc: -l:多少行 -m:多少字符 -w:多少字
uniq: 重复的行删除只显示一个
tr: tr '[a-z]' '[A-Z]' 大小写转换,tr -d SET:删除SET字符串, -s:取代重复的字符
split: -b:以档案size来分,-l:以行数来分

当写scripts时,如果需要计算则必须区分数字与字符,可以使用declare,如:declare -i a=3;
-a:定义数组;-f:定义函数;-i:定义整数;-r:定义只读;-x:定义透过环境输出变量
sh myscript opt1 opt2 opt3 则:$0=myscript $1=opt1 $2=opt2 $3=opt3

逻辑判断式
条件式判断:if [] && []; then 执行  elif [] || []; then 执行 else 执行 fi
case string in
 方式一) 执行
 方式二) 执行
 *) 执行 exit
esac
循环:for((条件1;条件2;条件3)) do 执行 done
for var in var1 var2.. do执行 done
while [] && { || } [] do 执行 done
until [] && { || } [] do 执行 done
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载