如何用shell实现下面任务
时间:2011-05-19
来源:互联网
在一个软件源码的发布包里,发现一个configure。其内容如下:
关于这段SHELL代码里面,CONFIG_STATUS变量的赋值,本人是在看不懂。
不知有没高人能够指点一二?
代码:
$ cat configure
#! /bin/sh
# run the automatically generated configure script
CONFIG_STATUS=auto/config.status \
auto/configure "$@" --srcdir="${srcdir:-.}" --cache-file=auto/config.cache
result=$?
# Stupid autoconf 2.5x causes this file to be left behind.
if test -f configure.lineno; then rm -f configure.lineno; fi
exit $result
#! /bin/sh
# run the automatically generated configure script
CONFIG_STATUS=auto/config.status \
auto/configure "$@" --srcdir="${srcdir:-.}" --cache-file=auto/config.cache
result=$?
# Stupid autoconf 2.5x causes this file to be left behind.
if test -f configure.lineno; then rm -f configure.lineno; fi
exit $result
关于这段SHELL代码里面,CONFIG_STATUS变量的赋值,本人是在看不懂。
不知有没高人能够指点一二?
作者: nothing9k 发布时间: 2011-05-19
\是分行,其他是命令和参数。还有一些bash的字符串处理,{}那些,是bash的缺省赋值的写法。
作者: eexpress 发布时间: 2011-05-19
eexpress 写道:
\是分行,其他是命令和参数。还有一些bash的字符串处理,{}那些,是bash的缺省赋值的写法。
你好,谢谢你的回复。
\ 这个代表分行,
那么整个语句应该是
代码:
CONFIG_STATUS=auto/config.status auto/configure "$@" --srcdir="${srcdir:-.}" --cache-file=auto/config.cache
如果暂时不管" "$@" --srcdir="${srcdir:-.}" --cache- "这些东西,那么整个语句应该是:
代码:
CONFIG_STATUS=auto/config.status auto/configure
那么如何去看懂这个呢?
为此我还写了测试程序:
代码:
$ cat configure
#!/bin/sh
CONFIG_STATUS=./test_1.sh \
./test_2.sh "$@"
echo CONFIG_STATUS is ${CONFIG_STATUS}
result=${?}
echo result is ${result}
exit ${result}
$ cat test_1.sh
#!/bin/bash
echo "This is generated by script test_1.sh"
$ cat test_2.sh
#!/bin/bash
echo "This is generated by script test_2.sh"
$ ./configure
This is generated by script test_2.sh
CONFIG_STATUS is
result is 0
#!/bin/sh
CONFIG_STATUS=./test_1.sh \
./test_2.sh "$@"
echo CONFIG_STATUS is ${CONFIG_STATUS}
result=${?}
echo result is ${result}
exit ${result}
$ cat test_1.sh
#!/bin/bash
echo "This is generated by script test_1.sh"
$ cat test_2.sh
#!/bin/bash
echo "This is generated by script test_2.sh"
$ ./configure
This is generated by script test_2.sh
CONFIG_STATUS is
result is 0
我看到的结果是test_1.sh根本不执行,而CONFIG_STATUS也没有赋值成功。
心里为这纠结了好久。

作者: nothing9k 发布时间: 2011-05-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28