Linux下执行自定义的可执行命令无效原因
1 前言
用golang编译成可执行文件tt stats text.txt(tt 是编译后重命名的可执行文件),然后直接执行失败了,后来使用./tt stats text.txt可以了。
执行结果如下:
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd$ tt stats text.txt
- Command 'tt' not found, but can be installed with:
- sudo apt install treetop
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd$ ./tt stats text.txt
- The file stat information is:
- &{text.txt 218 502 {709183000 63689244046 0x53d060} {2049 283761 1 33270 1000 1000 0 0 218 4096 8 {1553668976 396797000} {1553647246 709183000} {1553668976 396797057} [0 0 0]}}
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd$
仅作为记录使用。
2 样例
文件cc内容如下:
- ls -al
//并且执行chmod 777 cc(不需要执行,默认就有执行权限)
执行结果如下:
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd/testDir$ ll
- total 12
- drwxrwxr-x 2 fanbi fanbi 4096 Mar 27 04:38 ./
- drwxrwxrwx 4 fanbi fanbi 4096 Mar 27 04:38 ../
- -rwxrwxrwx 1 fanbi fanbi 7 Mar 27 04:29 cc*
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd/testDir$ cc
- cc: fatal error: no input files
- compilation terminated.
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd/testDir$ ./cc
- total 12
- drwxrwxr-x 2 fanbi fanbi 4096 Mar 27 04:38 .
- drwxrwxrwx 4 fanbi fanbi 4096 Mar 27 04:38 ..
- -rwxrwxrwx 1 fanbi fanbi 7 Mar 27 04:29 cc
- fanbi@ubuntu:~/Work/Go-Work/src/test/cmd/testDir$
说明:执行cc是没执行,输入./cc 就可以执行。原因是cc会被当成命令来执行,然后没有带参数,即输出致命错误(fatal error)。
- 运行 Shell 脚本有两种方法:
- 1、作为可执行程序
- 将上面的代码保存为 test.sh,并 cd 到相应目录:
- chmod +x ./test.sh #使脚本具有执行权限
- ./test.sh #执行脚本
- 注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
- 2、作为解释器参数
- 这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
- /bin/sh test.sh
- /bin/php test.php
Linux下执行自定义的可执行命令无效原因的更多相关文章
- Linux下如何保持gnome-terminal窗口执行命令后停留而不立刻关闭(gnome-terminal -x)
Linux下如何保持gnome-terminal窗口执行命令后停留而不立刻关闭(gnome-terminal -x) 转自:http://jakfruit.blog.163.com/blog/stat ...
- Linux 下用 crontab 设置定时执行python 程序
Linux 下用 crontab 设置定时执行python 程序 方法/步骤 1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...
- 《linux下进程的创建,执行,监控和终止》
<linux下进程的创建,执行,监控和终止> http://blog.csdn.net/miss_acha/article/details/43671047 http://blog.csd ...
- 构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock
构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock http://blog.chinaunix.net/uid-306663-id-2440200.html LIDS官方网站: ...
- Linux下df与du两个命令的差别?
Linux下df与du两个命令的差别? 一.df显示文件系统的使用情况,与du比較,就是更全盘化. 最经常使用的就是 df -T,显示文件系统的使用情况并显示文件系统的类型. 举比例如以下: [roo ...
- linux 下文件重命名/移动/复制命令(转)
linux 下文件重命名/移动/复制命令(转) linux下重命名文件:使用mv命令就可以了, 例:要把名为:abc 重命名为:123 可以这样操作: 重命名:MV命令 1.进入你的文件目录,运行 ...
- linux下使用script和scriptreplay对命令行操作进行录像
转自:linux下用script和scriptreplay对命令行操作录像 在Linux中可以使用script命令来记录命令行的操作过程,并使用scriptreplay命令对命令操作进行回放,操作步骤 ...
- linux下查看动态链接库依赖关系的命令 x86: ldd *.so arm: arm-linux-readelf -d *.so 实际例子: 以项目中用到的库librtsp.so分析: lijun@ubuntu:~/workspace$ arm-hisiv100nptl-linux-ld -d librtsp.so arm-hisiv100nptl-linux-ld:
linux下查看动态链接库依赖关系的命令 x86:ldd *.so arm:arm-linux-readelf -d *.so 实际例子:以项目中用到的库librtsp.so分析:l ...
- Linux下mysql使用systemctl restart mysqld命令失败
Linux下mysql使用systemctl restart mysqld命令失败: 解决方法:将mysql赋予root的权限 vim /etc/passwd 找到mysql开头的一行文件mysql: ...
随机推荐
- dpdk-18.11开发库编译安装
简介 dpdk官网 安装 下载 点击下载地址,选择合适的版本下载.这里下载DPDK 18.11.0 (LTS)版本. 编译 将下载的dpdk-18.11.tar.xz上传服务器,解压,这里放在了/op ...
- vue 修改数据界面没有及时更新nextTick
使用场景:有些时候,我们使用vue修改了一些数据,但是页面上的DOM还没有更新,这个时候我们就需要使用到nextTick. vm.$nextTick( [callback] ) 说明: 将回调延迟到下 ...
- Django ORM多表操作
多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对 ...
- Virtual DOM 系列二:核心API
为了更好的研究Virtual DOM,我选择了snabbdom来学习.相比Vue来说,snabbdom对于研究虚拟DOM更好,因为它里面没有其他干扰的东西,而且源码也比较少,因此研究起来更方便. 1. ...
- stm32串口接收发送数据处理
/************************************************************* Function Name : Uart1_Send_Byte* Desc ...
- 《深入理解java虚拟机》学习笔记-----郑雨迪
一.学习java虚拟机的原因 二.java代码的运行 java -c 编译成.class 文件(java字节码) java字节码(.class文件)无法直接执行,因此,java虚拟机需要将字节码编译成 ...
- 简易RPC
暴露服务: package com.saiarea; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; impo ...
- JavaScript DOM 高级程序设计读书笔记一
创建可重用的对象 简而言之,对象就是包含一组变量(称为属性)和函数(称为方法)的集合的实例.对象通常由类派生而来,而类中定义了对象拥有的属性和方法.如果你的脚本中都是对象之间的交互操作,那么就可以称之 ...
- [Bzoj 2956] 模积和 (整除分块)
整除分块 一般形式:\(\sum_{i = 1}^n \lfloor \frac{n}{i} \rfloor * f(i)\). 需要一种高效求得函数 \(f(i)\) 的前缀和的方法,比如等差等比数 ...
- JSP三大指令 六大内置对象
(1)include指令 作用: 在当前页面用于包含其他页面 语法: <%@include file=”common/header.jsp”%> (2)page指令 作用: 告诉tomca ...