通常,command not found是系统不能找到执行命令的路径引起的,是怎么回事儿呢?拿命令ifconfig来说,如果没有把:/sbin追加到环境变量,直接输入ifconfig命令是不能执行的,输入/sbin/ifconfig才能执行。通过whereis ifconfig可得知ifconfig所在路径是/sbin/ifconfig,即在sbin目录下。如果环境变量中没有设置/sbin,则会显示command not found,如果不设置环境变量并企图先进入/sbin目录再执行ifconfig命令是不会成功的,因为系统不会主动搜索当前目录下的文件,它不关心你的当前目录在哪儿,只会搜索环境变量。不设置环境变量是否就意味不能使用ifconfig命令了呢?显然不是,如果不设置环境变量/sbin,你仍然可通过如下方法执行ifconfig命令:cd /sbin; ./ifconfig 。“./ ”告诉系统不用搜索环境变量,直接就在当前目录下执行命令,作用等同于/sbin/ifconfig。
总结起来,可通过两种方法解决command not found问题。第一种,设置环境变量,如果不知某个命令所属目录,whereis [command]可查看。第二种,不用设置环境变量,进入命令所属目录,./[command]亦可实现。
但我还遇到echo $PATH 显示有所需命所在路径,但老是提示command not found(在编译内核才会出现,若是编译当个文件不会)不知道为什么
阅读(18953) | 评论(0) | 转发(0) |