当我们给予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/sh echo "*.jpg" echo '*.jpg'
这将打印"*.jpg" 两次。
单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。
#!/bin/sh echo $SHELL echo "$SHELL" echo '$SHELL'
运行结果为:
/bin/bash
/bin/bash
$SHELL