首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出可在命令行中使用,但不能在bash脚本中使用

导出可在命令行中使用,但不能在bash脚本中使用
EN

Stack Overflow用户
提问于 2013-02-07 00:19:23
回答 1查看 140关注 0票数 0

我尝试编写一个脚本,以便在path中自动在php5.3和5.4之间进行切换。虽然在我执行导出时它可以正常工作,但在脚本中运行时它什么也不做。

这是我的脚本

代码语言:javascript
复制
#!/bin/bash
# chphp
# Switch between php versions 5.3 and 5.4

FIXED_PATH=/here/is/my/path

if [ "$1" != "-v" ]
then
    echo "Wrong usage of the script.\n"
else
    if [ "$2" == 3 ]
    then
            export PATH="$FIXED_PATH:/path/to/php-5.3/bin"
            export PHP_INI_SCAN_DIR=""
    elif [ "$2" == 4 ]
    then
            export PATH="$FIXED_PATH:/path/to/php-5.4/bin"
            export PHP_INI_SCAN_DIR="/path/to/php-5.4/etc/php-dbg.d"
    else
            echo "Wrong usage of the script.\n"
    fi
fi

我还尝试了以下问题,通过搜索类似的问题找到了它们,但它们都不起作用

代码语言:javascript
复制
. ./chphp.sh -v 3

还有这个

代码语言:javascript
复制
source ./chphp.sh -v 3

有什么建议或想法可以让我用不同的方式解决这个问题吗?

编辑:正如Kent注意到的那样,在第一次回显之后,代码中缺少了else,我对其进行了编辑。代码现在可以同时运行两种方式了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 00:25:11

仅当$1而不是 -v时,脚本才会设置vars

如果$1-v,则脚本不执行任何操作。在第一个if-then中检查脚本

这有帮助吗?(设置php5.3内容)

代码语言:javascript
复制
source ./chphp.sh foo 3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14733742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档