當我按Tab鍵時,我正在寫一個簡單的腳本來自動完成。在bash中使用php自動完成Tab鍵
php腳本包含一個簡單的「回聲」。
在這種情況下,自動完成的作品,但一個「標籤」附加到從腳本
scriptPath='/home/hassen/workspace/scripts/bin/test.php'
_dda()
{
local cur
COMPREPLY=()
unset COMP_WORDS[0] #remove "j" from the array
cur=${COMP_WORDS[*]}
IFS=$'\n\n' read -d '' -a COMPREPLY < <($scriptPath --completion "$cur")
return 0
}
complete -F _dda dda
alias dda=$scriptPath
代碼從PHP腳本使其失去
代碼的輸出
<?php
echo "hello";
?>
這是令人討厭的部分: 如果我在Python或Ruby中打印回顯,它就像一個魅力 - 即每次我按TAB時,它會調用腳本並輸出hello。
這是PHP還是我的代碼的錯誤? 他們似乎在http://bugs.php.net/bug.php?id=52755
PHP似乎不適合在命令行中運行。它缺少#!/ usr/bin/php5部分。 – fabrik 2010-09-01 11:33:14
@fabrik即使我有這個,也沒有幫助。 我可以使用./test.php或php test.php來調用這個腳本 - 都生成'hello' – hbt 2010-09-01 17:29:29