分页: 1 / 1

IFS的引发的血案

发表于 : 2013-07-31 20:36
枫叶饭团

代码: 全选

#!/bin/bash

echo "Content-type: application/json"
echo ""

OIFS="$IFS"
IFS="${IFS}"
set $QUERY_STRING
Arg="$1"
IFS="$OIFS"


IP=`echo $1|sed 's/.*\(^[0-9.]*\).*/\1/g'`
MYSQL_CONN="/usr/bin/mysql -uroot -h172.25.100.2 -p123 -pproxy db_network_agent"
${MYSQL_CONN} “SQL语句”
exit 0
为什么我这样子改了IFS之后,${MYSQL_CONN}就没办法运行了。。。我看了下报错,提示的是not found啥的,一头雾水,可以肯定是IFS的问题

Re: IFS的引发的血案

发表于 : 2013-08-04 20:23
millenniumdark
IFS恐懼症患者。

我寧願用 plan9的rc。

Re: IFS的引发的血案

发表于 : 2013-08-04 20:41
goldlegend
好像应该这样写:
: ${MYSQL_CONN}
因为${MYSQL_CONN}不是一个命令,只是一个变量替换。
你试试啊,我也是菜鸟。

Re: IFS的引发的血案

发表于 : 2013-08-04 22:09
lxf1992521
应该是“eval ${MYSQL_CONN}”

代码: 全选

eval: eval [参数 ...]
    将参数作为 shell 命令执行。
    
    将 ARGs 合成一个字符串,用结果作为 shell 的输入,
    并且执行得到的命令。
    
    退出状态:
    以命令的状态退出,或者在命令为空的情况下返回成功。

Re: IFS的引发的血案

发表于 : 2013-08-04 22:38
eexpress
很久以前,经常有人借了不还,被骂不负责。

Re: IFS的引发的血案

发表于 : 2013-08-04 22:39
eexpress
bash罗嗦的。你直接设置就是。

代码: 全选

● echo $IFS|hexdump 
0000000 000a                                   
0000001

Re: IFS的引发的血案

发表于 : 2013-08-06 19:28
枫叶饭团
神的神经错乱了?
我把IFS的设置去掉之后运行是正常的- -
难道是IFS把变量都改了- -