2012-06-12 90 views
0

對不起我的英文。 我寫的bash文件,使用變量:shared_var=/system/xbinbash傳遞參數無效(adb)

我的腳本文件:

exec="./adb shell chmod 644 $shared_var/$2" 
echo $exec 
$exec 

讓我們運行此腳本:

>bash gapp.sh misc su 
./adb shell chmod 644 /system/xbin/su 
: No such file or directory n/su 

讓我們運行字符串」。/adb shell chmod 644/system/xbin/su「無腳本:

> ./adb shell chmod 644 /system/xbin/su 
(No output, OK) 

我有幾個問題:

  1. 爲什麼腳本,直接輸入端子有不同的結果?
  2. 爲什麼不是「沒有這樣的文件或目錄/ system/xbin/su」adb返回「沒有soch文件或目錄n/su」(adb結果看起來失真)
  3. 我的問題的解決方案是什麼?
+1

另請參閱[BashFAQ/050](http://mywiki.wooledge.org/BashFAQ/050)。 –

回答

0

它的工作原理,如果你的shell腳本只有

echo ./adb shell chmod 644 $shared_var/$2 
./adb shell chmod 644 $shared_var/$2 

即不將其分配給另一個變量,沒有引用的字符串

另外,如果你正在編輯的文件在Windows ,請確保您使用Unix換行符保存文件。

+0

它提供了相同的結果: 回聲./adb外殼搭配chmod 644 $ shared_var/$ 2 給 ./adb外殼搭配chmod 644 /系統/ XBIN /蘇 ./adb外殼搭配chmod 644 $ shared_var/$ 2 回報 :否這樣的文件或目錄n/su 但是 ./adb shell chmod 644/system/xbin/su 執行成功。 我在做什麼錯? – Slava

+0

對不起,我不明白,如何在這條評論中做一條新的線:( – Slava

+1

呵呵! 其原因是windows-like-lines- 我在gedit中將它改爲UNIX風格,並且 對不起( – Slava