我是脚本中的总菜鸟,并试图找出我的代码中的问题所在。我有一个带有客户详细信息的文本文件,该文件的第一行是用户名,第二行是真实姓名。这个细节我需要传递给php。首先,我需要在目录中找到最旧的文件。我创建了返回客户用户名的bash脚本:
oldest=`ls -tr1 temp/data/*.details|head -1`
head -n1 $oldest
找到最旧的文件(temp / data / xxx.details)并返回用户名,假设是xxx。
现在,到php:
$username = shell_exec('./oldest_order.sh');
$name = shell_exec('head -2 temp/data/'.$username.'.details | sed -n 2p');
我可以在我的php中获取用户名,第一行:它是xxx,但第二行不起作用,但是,如果我更改'。$ username。'到xxx,它有效,所以问题就在这个变量周围。
请建议。
答案 0 :(得分:0)
也许在结尾或开头都有一个新行或空格。
您可以通过执行var_dump($username);
来检查。这将为您提供字符串的实际长度,以便您可以将其与您认为应该具有的长度进行比较。
如果在开头或结尾是空格,您可以使用:
$name = shell_exec('head -2 temp/data/'.trim($username).'.details | sed -n 2p');