首页 > 代码库 > shell 脚本执行和基础知识

shell 脚本执行和基础知识

当我们给予shell脚本执行的权限后,就可以测试程序了,假设shell脚本文件为hello.sh
放在/root目录下。下面介绍几种在终端执行shell脚本的方法:
1.切换到shell脚本所在的目录,执行:

[root@localhost home]# cd /root/
[root@localhost ~]# ./hello.sh
hello guys!
welcome to my Blog:linuxboy.org!



2.以绝对路径的方式执行:

[root@localhost ~]# /root/hello.sh
hello guys!
welcome to my Blog:linuxboy.org!

3.直接用bash或sh执行:

[root@localhost ~]# bash hello.sh
hello guys!
welcome to my Blog:linuxboy.org!
[root@localhost ~]# sh hello.sh
hello guys!
welcome to my Blog:linuxboy.org!

注意:用以上三种方法执行shell脚本,现行的shell会开启一个子shell环境,去执行shell脚本
也可以让shell脚本在现行的shell中执行:
4.现行的shell中执行

[root@localhost ~]# . /hello.sh
hello guys!
welcome to my Blog:linuxboy.org!
[root@localhost ~]# source hello.sh
hello guys!
welcome to my Blog:linuxboy.org!
[root@localhost ~]#

 

 

2. 类似方法一,只不过它是以脚本文件名为参数的。

sh bash.sh

 

3. 将脚本文件设置成执行文件,直接在提示符下调用。

chmod u+x test.sh

./test.sh 

shell基础知识:http://www.cnblogs.com/xuejie/archive/2013/01/31/2886552.html

 

脚本filename:

#!/bin/sh echo *.jpg

chmod +x filename

./filename 来执行您的脚本。

这将打印出"mail.jpg tux.jpg"的结果。

 

引号 (单引号和双引号) 将防止这种通配符扩展:

#!/bin/shecho "*.jpg"echo ‘*.jpg‘

这将打印"*.jpg" 两次。

单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。

#!/bin/shecho $SHELLecho "$SHELL"echo ‘$SHELL‘

运行结果为:

/bin/bash

/bin/bash

$SHELL