My same BASH script is working in Fedora/CentOS.
But I am testing one Android eee pad transformer
.
You can install Busybox, which provides you with many utilities such as awk, file, etc... and Terminal Emulator.
#!/system/bin/sh
as the first line (shebang)/system/xbin
or /system/bin
and run it from the Terminal EmulatorThe information is an excerpt from this article : HOW TO RUN SHELL SCRIPTS ON ANDROID DEVICES
Most Android devices don't have a bash interpreter installed. If you really need to run the script across Linux and Android, you could try using BusyBox but that will require rooting your device (and potentially voiding your warranty). Even then though, I don't know if the ifconfig
utility is included in BusyBox.
I would strongly recommend using the Android SDK to write an app to do whatever your trying to accomplish.
in Android the shell is located in /system/bin/sh
not /bin/sh
like it is on most Unix-like systems. So even if you change #!/bin/bash
to #!/bin/sh
it will still not work. you'll have to use #!/system/bin/sh
Android is not a GNU/Linux distribution so you can't expect that all scripts that run on GNU/Linux to also work on Android.
As was stated, the Android OS (up to and including 4.0) does not include the BASH interpreter (just shell). While BusyBox is a great tool, I believe it's only a single executable that combines stripped-down-functionality-for-size versions of common UNIX utilities, but doesn't actually include the BASH interpreter.
For an Android compiled version of the BASH interpreter, refer to this Forum thread: http://forum.xda-developers.com/showthread.php?t=537827
May be it will work when calling interpreter with a script?
$ bash ./test.sh
I saw, that although it is specified #!/bin/bash
error was posted by sh
- may be it do wrong.
UPD
$ sh ./test.sh