下面我贴了我的例子 -
#!/bin/sh
#. /root/file.txt
su - root -c "/bin/sh" << EOF
if [[ -f /root/file.txt ]] ; then
. /root/file.txt
export X=$X:/nobin <-- not exporting correctly. Incase line no 2 is uncommented, it works.
else
echo "ERROR: /root/path.txt file is missing"
exit 1
fi
echo "myexecutable_binary 2>&1"
EOF
echo $?
echo "here"
X="/usr/usr1:/usr/usr2"
export X
echo $X
正如我在上面强调的那样,出口存在一些问题。请帮我解决这个问题。
Linux- Linux 2.6.18-348.el5
答案 0 :(得分:0)
您的此处文档正在由当前shell进行插值。我猜你在运行这个程序的shell中没有定义变量X
。我还推测你真正想要的是脚本不被插值。一个简单的解决方法是引用heredoc分隔符; <<'EOF'
EOF
周围带有单引号的$numbers = $client->account->available_phone_numbers->getList('US', 'Local', array(
"AreaCode" => "510"
));
foreach($numbers->available_phone_numbers as $number) {
echo $number->phone_number;
}
。