awk命令失效与busybox

目前的设备,执行如下命令

[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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值