shell 编程学习笔记
关于"#!/bin/sh"的认识
下面第一块为引用
第一次学shell编程,看的文章中说shell程序必须以"#!/bin/sh"开始,也就认为是这样了,虽然知道在shell中以"#"开始的语句 都是注释,但也从没认为"#!/bin/sh"也是注释,就像对C语言程序必须有main函数一样毫无怀疑。但前些时候又听说"#!/bin/sh"也 是注释,可有可无,当时觉得真是一个失败,连基本的语法都分不清。前几天借了一本书,才真正认识了"#!/bin/sh"。shell编程是以"#"为 注释,但对"#!/bin/sh"却不是。"#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。如果没有声 明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell.如果脚本被编写为在Korn shell ksh中运行,而默认运行shell脚本的为C shell csh,则脚本在执行过程中很可能失败。所以建议大家就把"#!/bin/ sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。
我自己先试着写了一个shell脚本
一
1、创建一个test.sh的shell脚本
[root@AppServer test]# vi test.sh
#!/bin/sh a="hello shell code" num=18721814816 echo $a echo"this is my phone_num: ${num}" echo ${num}
2、给test.sh赋予x执行权限
[root@AppServer test]# chmod a+x test.sh
3、执行test.sh脚本
[root@AppServer test]# ./test.sh
hello shell code
./test.sh: line 5: echothis is my phone_num: 18721814816: command not found
18721814816
二
在一的基础上加了一些其他语法
[root@AppServer test]# vi test.sh
#!/bin/sh #######################这是我的第一个shell脚本文件#################### # 1、完成编写shell脚本后需要给其赋予-x可执行权限 +x # # 2、如果shell脚本在测试和debug没有问题后可以用root权限将其移到到 # # /usr/local/bin/目录中,这样所有用户都可以直接输入脚本名来运行 # # ex: 如用当前用户在任意目录直接输入"test.sh"即可执行test.sh # ###################################################################### a="hello shell code" num=18721814816 echo $a echo "this is my phone_num: ${num}" echo ${num} #判断startup.sh是否为可执行文件 if [ -x "/usr/local/tomcat/bin/startup.sh" ]; then echo "startup.sh 是可以执行的! " else echo "startup.sh 是不可执行的! " fi #判断hehe.txt是否为可执行文件 if [ -x "/ftp_server/test/hehe.txt" ]; then echo "hehe.txt是可以执行的! " else echo "hehe.txt是不可执行的!" fi
相关推荐
laisean 2020-11-11
Julyth 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
firefaith 2020-10-30
以梦为马不负韶华 2020-10-20
wangzhaotongalex 2020-09-22
jarrygao 2020-11-02
woaimeinuo 2020-10-21
laisean 2020-09-01
libao 2020-09-16
卖口粥湛蓝的天空 2020-09-15
huha 2020-10-16
大牛牛 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
JohnYork 2020-10-16
applecarelte 2020-10-16
流年浅滩 2020-10-23
liujianhua 2020-10-22
tufeiax 2020-09-03
vvu 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17