[Shell]Shell脚本的执行方式,shell脚本执行方式


----------------------------------------------------------------------------------------------------------

能完成大部分输出任务的命令:echo

echo helloworld;    #正确

echo "hello world";    #正确

echo "hello world !";  #中间有空格须加引号,且!在Linux中有特殊含义,不能加双引号,而用单引号(注:存在一些Linux系统可以正常输出,但不推荐此写法)

echo 'hello world !';   #正确

 

命令:help echo 或 man echo    #查看echo命令的帮助

 

-------------------------------------@黑眼诗人 <www.chenwei.ws>---------------------------------

一. 第一个Shell脚本:

vi hello.sh            #Linux脚本不区分扩展名,但以.sh结尾可以告诉系统编写的就是Shell脚本,用vim打开会有语法颜色提示。

 

#!/bin/Bash           #标注以下程序为Shell脚本,除了这句,其它以#号开头,均表示注释

# The first program   #是注释

# author chenwei     #是注释

echo -e "chenwei is Black eyed poet"  #内容

 

二. Shell脚本执行的两种方法:

1.赋予执行权限,直接运行

chmod 755 hello.sh

./hello.sh         #以绝对路径执行 或 相对路径的方式执行 都可以

 

2.通过bash调用执行脚本

bash hello.sh      #bash直接执行,可以不用给执行权限

 

三. 一些技巧:

cat -A hello.sh      #加-A选项,表示查看完整脚本内容,包括隐藏字符

#运行上条命令可以看到,在Linux中编辑的Shell脚本,回车符是$;但在Windows中编辑的Shell脚本,回车符是^M$,所以在Linux中要执行Windows下编辑完成的脚本,会报错(没有那个文件或目录)。

解决方法:

命令:dos2unix hello.sh #从dos格式转换为unix格式,此条命令在你的系统中若没装:yum -y install dos2unix,同理:yum -y install unix2dos

--------------------------------------------------------------------------------------------------------


执行shell脚本的方式主要是什?

(1)输入定向到Shell脚本
$ bash < 脚本名

(2)以脚本名作为参数
$ bash 脚本名 〔参数〕

(3)将Shell脚本的权限设置为可执行,然后在提示符下直接执行它。
$ chmod a+x 脚本名
$ PATH=&PATH:.
$ 脚本名
 

怎运行shell脚本

编写好的shell脚本(如:test),可以采取两种方式进行运行:一、 $ sh test一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。也可以采用 $ ksh test这种方式要求shell具有“可读”的访问权限。二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)chmod +rx test(同上)chmod u+rx test(只有文件属主具有读和执行的访问权限)按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。1、test(如果命令检索路径包含当前目录)2、./test(如果命令减缩路径不包含当前目录)*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。
 

相关内容