目前的设备,执行如下命令
[root@Huahuan:home]#ls -l | awk '{print $2}'
total 32996
-rwxrwxrwx 1 1000 1000 245 Jan 1 12:30 autorun.sh
drwxr-xr-x 3 root root 224 Jan 1 00:42 config
-rwxr-xr-x 1 root root 13016 Jan 1 01:05 demo
-rwxr-xr-x 1 1000 1000 13128 Jun 18 2015 demo-fpga
-rwxr-xr-x 1 root root 63 Jan 2 01:15 down.sh
-rwxr-xr-x 1 root root 13016 Jan 1 01:04 dpll
-rwxr-xr-x 1 1000 1000 10825 Nov 24 09:16 dpll.sh
-rwxr-xr-x 1 root root 13016 Jan 1 01:03 fpga
awk命令并不生效,执行awk
[root@Huahuan:home]#awk
BusyBox v1.23.2 (2016-01-25 14:05:24 CST) multi-call binary.
Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
-v VAR=VAL Set variable
-F SEP Use SEP as field separator
-f FILE Read program from FILE
-e AWK_PROGRAM
[root@Huahuan:home]#ls /usr/bin/awk
/usr/bin/awk
可见命令是有的,但不生效,由于之前的busybox是别人做的,找不到使用的源码了
于是,下载了一个比较新的busybox 1.23.2
或 http://linux.linuxidc.com/pub/BusyBox/
用户名与密码都是www.linuxidc.com
使用的默认配置,改了下工具链
编译的时候遇到ubi的问题,可以百度
make; make install 后
做出来的awk还是无效的
(┬_┬)
后来从网上下载了一个别人编好的busybox,一试,没问题
看来还是我配置编译的有问题
后来看到这么一句话
Build Options
Build BusyBox as a static binary (no shared libs)
这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使它正常工作.
这才明白,编好的可执行文件,移植到其他平台很可能导致缺少相关函数库,而且这又是一个gnu extent cmd
编成静态库后,awk好用了
[root@Huahuan:home]#ls -l |awk '{print $3}'
1000
root
root
1000
root
root
1000
root
root
root
root
root
1000
root