shell脚本学习入门

原创 2013年12月04日 10:01:23

#!/bin/sh


a="hello world"

echo "A is:"
echo $a

 

#打印参数的技巧
num=2

#不能识别$numnd变量
echo "this is the $numnd"
echo "this is the $num"
echo "this is the ${num}nd"

 

#由export关键字处理过的变量叫做环境变量。

#每行第一个到第二个字符,每行从1开始计数
#cut -b colnum file:
cut -b 1-2 hb.sh

 

#计算文件行数
wc -l hb.sh


#计算文件的单词数
wc -w hb.sh


#计算文件的字符数
wc -c hb.sh

 

#管道 (|) 将一个命令的输出作为另外一个命令的输入
#查询a.txt文件中的字符串tomcat,并计数显示
grep "tomcat" a.txt|wc -l >> abc.txt

 

#if要和中括号之间有空格
if [ "$SHELL" = "/bin/bash" ]; then
  echo "your login shell is the bash"
else
  echo "your login shell is not bash but SHELL"
fi

 

# 这里 && 就是一个快捷操作符,如果左边的表达式为真则执行右边的语句
#  -f "/etc/shadow" 判断这个文件(不是文件夹)是否存在,注意中括号两边是空格,不能连着写,否则不被识别
[ -f "/etc/shadow" ] && echo "This computer uses shadow passwors"


#注意这里的空格很重要。要确保方括号和条件之间的空格。
# -d参数判断文件夹(路径)是否存在
[ -d "/tmp/hb" ] && echo "/tmp/hb is exist"

for var in A B C ; do
  echo "var is $var"
done

 

#注意:是用两个括号。
for (( i = 0; i < 10; i++)); do
  echo $i;
done

echo "what is your favourite OS?"
select var in "linux" "Gnu Hurd" "Free BSD" "Other";do
break
done
echo "you have selected $var"

 

#选择不同的参数走不同的流程
#temp="hb"
#temp=""
temp="cc"
temp2=""
#if要和中括号之间有空格,等号两端要有空格
#每个if完结之后要有一个fi结尾
if [ "$temp" = "hb" ];then
 echo "temp is $temp"
 if [ "$temp2" = "" ];then
  echo "temp2 is null"
 fi
elif [ "$temp" = "cc" ];then
 echo "temp is cc"
else
 echo "temp is null"
fi

 

# -n 判断变量$temp是否有值
[ -n "$temp" ] && echo "temp have value"
[ ! -n "$cc" ] && echo "cc don't hava value"

 

# -x 判断文件是否为可执行文件
[ ! -x abc.txt ] && echo "abc.txt bu shi ke zhi xing wenjian"

 

 

 

Shell脚本学习(一)Shell命令基础

Shell脚本学习(一)Shell命令基础
  • birdben
  • birdben
  • 2016年08月08日 23:55
  • 19991

Shell脚本初步学习-鸟哥Linux私房菜基础学习篇

Shell脚本对于Linux下的系统管理员和运维的人来说很重要。最近看了一下Shell脚本,为了系统地学习一下Shell脚本,我看了一下《鸟哥的Linux私房菜基础学习篇》第三版,其中的第13章讲了一...
  • ccf19881030
  • ccf19881030
  • 2013年05月14日 23:19
  • 4892

零基础学习Shell编程

一:起因 (0)也许由于一时的冲动使得你开始关注并学习shell编程;亦许由于是“道听途说”shell的威力很大;亦许由于shell编程的魅力;亦许由于作为一个coder的偏好;亦许…… (1)先来搞...
  • u010700335
  • u010700335
  • 2015年05月07日 16:42
  • 2427

ubuntu下shell脚本基础与入门

今天阅读项目的sh脚本,特地kan
  • kylewang48202
  • kylewang48202
  • 2014年10月11日 11:14
  • 5176

【Linux】Shell脚本学习总结篇

【Linux】Shell脚本学习总结篇shell学习分为下面3个部分: shell基本命令回顾 shell基本语法学习 awk/sed 工具学习 关于shell的介绍之类的在这里不做赘述!shell基...
  • bitboss
  • bitboss
  • 2017年06月11日 17:24
  • 1204

快速入门shell脚本编写(二)

上次在写shell的时候发现vi和vim不一样:vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim要比vi好用许多。 这次接着上次的内容,基础知识,继续学习,本文作者...
  • hnulwt
  • hnulwt
  • 2015年01月26日 20:26
  • 3774

菜鸟shell 脚本学习日记

1、shell 脚本统计当前目录下指定后缀文件行数: 获取当前目录下所有后缀为.txt 文件行数,包含空白行(包括子目录): $find . -name "*.sh" |xargs cat |wc -...
  • cxj415
  • cxj415
  • 2017年11月29日 23:10
  • 52

快速入门shell脚本编写(四)

Lee出品,转载请注明出处 继续上次学的内容,这次学习 case 语句和 shell的函数概念。 case 语句 首先先看看测试程序: 1 #! /bin/sh 2 3 animal=do...
  • hnulwt
  • hnulwt
  • 2015年01月28日 20:01
  • 3176

shell脚本学习网站

1、 Shell编程基础  http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80 2、 S...
  • tianxiawuzhei
  • tianxiawuzhei
  • 2015年03月02日 15:44
  • 1252

linux shell 脚本入门

1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例...
  • baobao8505
  • baobao8505
  • 2006年09月21日 09:27
  • 6307
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell脚本学习入门
举报原因:
原因补充:

(最多只允许输入30个字)