2013-07-30 88 views
0

我有一個Android 2.2.2手機(LG P350f)。它植根於超級用戶,並且我剛安裝了Android Terminal Emulator。我以root(su)身份登錄並嘗試執行一個簡單的腳本lol.sh,它應該回顯一個字符串。我得到以下輸出:是否可以在Android手機中執行shell腳本?

# ./lol.sh 
./lol.sh: permission denied 

很顯然,我已經嘗試設置權限,但輸入後:

# chmod 777 lol.sh 

我仍然得到這樣的:

# ls -l lol.sh 
----rwxxr-x ... 

的文件駐留在SD卡,我會嘗試將其移動到別處,還有其他想法嗎?

+0

您可以在Java中使用'Process' 。 – Phil

回答

2

Android中的大多數文件系統通常使用「noexec」選項進行安裝。確保你的腳本放在一個文件系統上,不是有這個選項。

+0

是的,這是正確的。您當然可以始終調用它作爲「sh lol.sh」來代替,以規避「noexec」... – mirabilos

0

從你的問題看來你有root權限(#在shell提示符),所以將你的腳本安裝了exec權限,例如文件系統:

# mv lol.sh /data/lol.sh 
# chmod 700 /data/lol.sh 
# /data/lol.sh 
+0

root @ user:/ data#./run_script /system/bin/sh:./run_script:No such文件或目錄 root @ user:/ data#ls -l run_script -rwxrwxrwx root root 5861 2016-11-14 07:31 run_script –

+0

嗨迭戈,儘管複製到/ data我得到了同樣的錯誤。我檢查了mount/data沒有安裝noexec。是什麼原因 –