zoukankan      html  css  js  c++  java
  • 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/sh
    echo "*.jpg"
    echo '*.jpg'

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

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

    #!/bin/sh
    echo $SHELL
    echo "$SHELL"
    echo '$SHELL'

    运行结果为:

    /bin/bash

    /bin/bash

    $SHELL

  • 相关阅读:
    A1066 Root of AVL Tree (25 分)
    A1099 Build A Binary Search Tree (30 分)
    A1043 Is It a Binary Search Tree (25 分) ——PA, 24/25, 先记录思路
    A1079; A1090; A1004:一般树遍历
    A1053 Path of Equal Weight (30 分)
    A1086 Tree Traversals Again (25 分)
    A1020 Tree Traversals (25 分)
    A1091 Acute Stroke (30 分)
    A1103 Integer Factorization (30 分)
    A1032 Sharing (25 分)
  • 原文地址:https://www.cnblogs.com/csxf/p/3852984.html
Copyright © 2011-2022 走看看