hazard
V2EX  ›  问与答

bash 学习小问题

  •  
  •   hazard · Aug 17, 2014 · 2663 views
    This topic created in 4315 days ago, the information mentioned may be changed or developed.
    有这么一个bash脚本:
    #!/bin/sh

    foo=20
    echo $foo
    ((bar=$foo/10))
    echo $bar

    赋予该脚本x权限,直接运行.无法输出bar的值,即2
    但用 bash + 脚本名的方式,便可以看到输出2了

    请问这个现象背后的原理是啥?
    3 replies    2014-08-17 14:50:37 +08:00
    freetg
        1
    freetg  
       Aug 17, 2014   ❤️ 1
    /bin/sh 不是链接到bash,ls -l /bin/sh 看一下
    hazard
        2
    hazard  
    OP
       Aug 17, 2014
    @freetg 哈哈 多谢
    /bin/sh连接到dash了....
    precisi0nux
        3
    precisi0nux  
       Aug 17, 2014
    试试
    #!/usr/bin/env bash
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5677 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 01:42 · PVG 09:42 · LAX 18:42 · JFK 21:42
    ♥ Do have faith in what you're doing.