我在脚本编程中总是noob,并试图找出我的代码中的问题在哪里。我有一个带有客户详细信息的文本文件,文件的第一行是用户名,第二行是真实姓名。这个细节我需要传递给PHP。首先,我需要在目录中找到最旧的文件。我创建bash脚本返回的客户用户名:shell_exec里面的变量
oldest=`ls -tr1 temp/data/*.details|head -1`
head -n1 $oldest
此发现odest文件(温度/数据/ xxx.details),并返回用户名,让我们说XXX。
现在,到PHP:
$username = shell_exec('./oldest_order.sh');
$name = shell_exec('head -2 temp/data/'.$username.'.details | sed -n 2p');
我可以在我的PHP获取用户名,于第一线:这是XXX,但第二行是不行的,但是,如果我改变” $的用户名。 “到xxx,它的工作原理,所以问题在这个变量周围的某处。
请指教。
也许一个新的行或空间在年底或年初? var_dump($ username);'给你正确的字符串长度。如果是空格,你可以使用''.trim($ username)''' – jeroen 2013-03-08 21:07:49
'var_dump($ username)'会证实这一点。它会是'string(3)'为'xxx'而没有换行符,而4或5代表xxx WITH cr/lf – 2013-03-08 21:13:02
感谢您的快速回答,jeroen。 'var_dump($ username);'给我'字符串(17)“xxx”'这行在第一个和最后一个名字之间包含空格。换行符号(ctrl-m)先前已被'sed's /.$//''替代 – user2149880 2013-03-08 21:25:16