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

  • 相关阅读:
    [Leetcode Weekly Contest]258
    [Leetcode Weekly Contest]256
    for in 和for of的区别
    JS常用库收集汇总
    vue项目中的.env环境变量配置文件
    Rust程序设计语言(5)
    《YOLOV4&5原理与源代码解析之五:SPP CSP》
    ping不同网段的脚本
    远程清空主机所有项目的日志脚本
    启动服务的脚本
  • 原文地址:https://www.cnblogs.com/csxf/p/3852984.html
Copyright © 2011-2022 走看看