shell 编程初级
shell编程的简单代码 一些基础代码 直接上代码
#!/bin/bash
myUrl="gggggggg"
# 只读变量设置
# readonly myUrl
echo "myUrl =" ${myUrl}
unset myUrl
echo 'myUrl = ' ${myUrli} # string splice
your_name='wanghuixi'
str="hello I know you are \"$your_name\" ! \n"
echo -e $str greeting="hello,"$your_name"!"
greeting1="hello,${your_name} !"
echo $greeting $greeting1 greeting2='hello, '$your_name'!'
greeting3='hello, '${your_name}'ddd!'
echo $greeting2 $greeting3 echo ${#your_name} echo ${your_name::} string="runoob is a great site"
echo `expr index "$string" io` array_name=(value0 value1 value2 value3)
echo $array_name[]
echo ${array_name[@]} #获取数组的长度
echo ${#array_name[@]} echo ${#array_name[*]}
# 取得数组单个元素的长度
echo ${#array_name[]} :<<.
zhu shi
.
echo "can shu: $0"
echo "can shu: $1"
echo "can shu num : $#" echo "proess ID is : $$"
echo "can shu $* " echo "-- \S* --"
for i in "$*"; do
echo $i
done echo "-- \$@ --"
for i in "$@";
do
echo $@
done :<<.
array
write
readd
. my_array=(A B "ccc" D)
echo "first :${my_array[0]}"
echo "second: ${my_array[2]}" echo " ${my_array[*]}"
echo " ${my_array[@]}" echo " ${#my_array[*]}"
echo " ${#my_array[@]}"
:<<.
ji ben yun suan fu .
val=`expr +`
echo "val: $val" a=
b= val=`expr $a - $b`
echo "a -b : $val" val=`expr $a + $b`
echo "a + b : $val" if [ $a == $b ]
then
echo " a = b "
fi if [ $a != $b ]
then
echo "a != b"
fi
:<<.
file yun suan
文件测试运算符
.
# echo
# read name
# echo "$name It is a test" echo "ok! \n" # -e 开启转义 \c no line
echo -e "ok \c" echo "it is a test " > myfile echo `date` printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876 for loop in
do
echo "The value is : $loop"
done for str in "this is a string "
do
echo $str
done int=
while(($int<=))
do
echo $int
let "int++"
done
echo "##########"
:<<.
echo -n '输入你最喜欢的网站名:'
while read FILM
do
echo "$FILM"
done
.
a=
until [ ! $a -lt ]
do
echo $a
a=`expr $a + `
done # case
echo "输入 1 到 4 之间的数字"
echo "你输入的数字为:"
read aNum
case $aNum in
) echo '';;
) echo '';;
) echo '';;
) echo '';;
*) echo '你没有输入 1 到 4 之间的数字';;
esac funWithParam(){
echo "第一个参数为 $1 !"
echo "第二个参数为 $2 !"
echo "第十个参数为 $10 !"
echo "第十个参数为 ${10} !"
echo "第十一个参数为 ${11} !"
echo "参数总数有 $# 个!"
echo "作为一个字符串输出所有参数 $* !"
}
funWithParam
运行结果:
myUrl = gggggggg
myUrl =
hello I know you are "wanghuixi" ! hello,wanghuixi! hello,wanghuixi !
hello, wanghuixi! hello, wanghuixiddd! an value0[]
value0 value1 value2 value3 can shu: ./text.sh
can shu:
can shu num :
proess ID is :
can shu
-- \S* -- -- $@ --
first :A
second: ccc
A B ccc D
A B ccc D val: +
a -b : -
a + b :
a != b
ok! \n
ok Sun Apr :: PDT
姓名 性别 体重kg
郭靖 男 66.12
杨过 男 48.65
郭芙 女 47.99
The value is :
The value is :
The value is :
The value is :
The value is :
this is a string ########## 输入 到 之间的数字
你输入的数字为: 第一个参数为 !
第二个参数为 !
第十个参数为 !
第十个参数为 !
第十一个参数为 !
参数总数有 个!
作为一个字符串输出所有参数 !
shell 编程初级的更多相关文章
- Linux学习笔记(17) Shell编程之基础
1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- Linux Shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- Linux_10------Linux之shell编程------变量
.-9 vim num.sh #! /bin/bash num1=$1 num2=$2 sum=$(($num1+$num2)) #变量sum是num1和num2的综合 echo $sum 执行 ./ ...
- 需要交互的shell编程——EOF(转载)
在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“, 再次返回到主调shell,可将其理解为分 ...
- ****CodeIgniter使用cli模式运行,把php作为shell编程
shell简介 在计算机科学中,Shell俗称壳(用来区别于核).而我们常说的shell简单理解就是一个命令行界面,它使得用户能与操作系统的内核进行交互操作. 常见的shell环境有:MS-DOS.B ...
- Shell 编程基础之变量和环境变量
一.变量赋值和引用 Shell 编程中,使用变量无需事先声明,同时变量的命名不惜遵循如下规则: 首个字符必须为字母(a-z,A-Z)或者_ 变量名中间不能有空格,可以使用_连接 不能使用其他表达符号 ...
- Linux Shell编程基础
在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls 显示当前路径下的文件,常用的有 -l 显示长格式 -a 显示所有包括隐 ...
随机推荐
- ceph 高级运维
追查系统故障,需要找到问题的根源安置组和相关的OSD. 一般来说,归置组卡住时 ceph 的自修复功能往往无能为力,卡住的状态细分为: 1. unclean 不干净:归置组里有些对象的复制数未达到期望 ...
- LOJ #6052. 「雅礼集训 2017 Day11」DIV
完了我是数学姿势越来越弱了,感觉这种CXRdalao秒掉的题我都要做好久 一些前置推导 首先我们很容易得出\((a+bi)(c+di)=k \Leftrightarrow ac-bd=k,ad+bc= ...
- linux shell 备注(一)
1.特殊字符 #!/bin/bash # $表示当前PID ID echo $$ # $n是shell脚本的参数,当0是第一个参数,即文件名 # $#是shell当前脚本的参数个数 # 例如:sh03 ...
- ajax data属性传值的方式总结
在和后台同事对接口的时候,有一个小问题一直困扰着我.那就是用ajax请求后台接口数据,需要用data属性传值的时候,data属性传值的方式感觉没有统一用一种方式. 后来仔细想想,其实哪种方式都可以,主 ...
- linux-Navicat 连接数据库 报错10060 & Navicat连接报错1146
1.mysql数据库设置远程连接权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;[回 ...
- perl学习笔记---标量
1.perl 输出时,使用 逗号,连接多个字符串 如:print “The answer is ”,6*7, “.\n” 2.当一个字符串由双引号括起来时,如果变量前没有反斜线,则变量会被其值内插 $ ...
- Vue.js-05:第五章 - 计算属性与监听器
一.前言 在 Vue 中,我们可以很方便的将数据使用插值表达式( Mustache 语法)的方式渲染到页面元素中,但是插值表达式的设计初衷是用于简单运算,即我们不应该对差值做过多的操作.当我们需要对差 ...
- 设计一个可拔插的 IOC 容器
前言 磨了许久,借助最近的一次通宵上线 cicada 终于更新了 v2.0.0 版本. 之所以大的版本号变为 2,确实是向下不兼容了:主要表现为: 修复了几个反馈的 bug. 灵活的路由方式. 可拔插 ...
- 【Netty】(3)—源码NioEventLoopGroup
netty(3)-源码NioEventLoopGroup 一.概念 NioEventLoopGroup对象可以理解为一个线程池,内部维护了一组线程,每个线程负责处理多个Channel上的事件,而一个C ...
- springboot~内嵌redis的使用
对于单元测试来说,我们应该让它尽量保持单一环境,不要与网络资源相通讯,这样可以保证测试的稳定性与客观性,对于springboot这个框架来说,它集成了单元测试JUNIT,同时在设计项目时,你可以使用多 ...