我在腳本編程中總是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