坑了我一个小时的脚本执行
晚上写了一个脚本配置resolv.conf,写好后在虚拟机里面跑了下,一切正常,但编译进板子就运行不了。
第一个错误点,在exeve函数执行时报错,错误信息是Exec format error
。查了半天,发现是手残把脚本开头的#!/bin/sh
的‘!’写掉了导致运行不了。这里可以去了解一下exec函数簇的执行,如果直接把exeve改为execlp是可以正常运行的。
看了下书,UNIX高级编程上说,execlp和execvp会判断文件是不是二进制可执行文件,如果不是则认为是一个shell脚本,调用/bin/sh执行。而exeve则会调用你的脚本里的解释器执行,上面我手残把解释器哪一行写错了,所以无法执行,报格式错误。
第二个错误点在一个if判断时一直报错,这个if是这么写的
if [[ `grep ${item} /etc/resolv.conf` = "" ]]; thenecho "set dns ${item}"echo "nameserver ${item}" >> /etc/resolv.conffi
弄了半天发现是需要在 ` 外面加双引号,改成这样:
if [[ "`grep ${item} /etc/resolv.conf`" = "" ]]; thenecho "set dns ${item}"echo "nameserver ${item}" >> /etc/resolv.conffi
完。
坑了我一个小时的脚本执行相关推荐
- 定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?
定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现? 可以使用linux的计划任务功能crontab来实现定时执行脚本. 具体步骤如下: 编辑crontab计划任务列表: ...
- php执行另一个页面,从另一个PHP脚本执行PHP脚本
您可以从命令行手动调用PHP脚本 hello.php echo 'hello world!'; ?> Command line: php hello.php Output: hello worl ...
- 笔记:[windows] 简单写一个cmd命令行可执行的脚本.bat
嵌入式软件开发过程中,难免有时候遇到需要使用bat脚本.我就遇到了,网上百度后好久后才写下需要的简单脚本.记录一下. 一.一个简单bat脚本 新建一个文本文档,重命名为xxx.bat,这样就完成一个空 ...
- 编写一个脚本,对至少三个以上记事本窗口做相同操作,对任意一个窗口进行手动操作,其余窗口由脚本执行相同步骤的键鼠操作,记得是键盘操作+鼠标操作。
编写一个脚本,对至少三个以上记事本窗口做相同操作,对任意一个窗口进行手动操作,其余窗口由脚本执行相同步骤的键鼠操作,记得是键盘操作+鼠标操作. 按键等级认证5级 分享 答题思路: 对最上层记事本操作 ...
- 编写一个完整的python脚本(新建脚本--编写脚本--执行脚本)
1.python脚本的格式是什么 举个例子来说明:hello.py中hello是脚本名,py脚本格式 2.脚本的结构 #coding:utf-8 //脚本头 一个空行分割 import os //引用 ...
- (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务
文章目录 shell脚本编程 条件语句 脚本执行多条命令 执行定时任务 本文着重于提高我们的生产力,所以将这几个作为了一个专题. shell脚本编程 脚本中不同语句用分号隔开,和c语言一样. for, ...
- linux 循环小时,shell脚本日期遍历(按天按小时)
使用shell脚本遍历日期 1. 按天倒序遍历日期 ( 正序修改一下日期增减函数即可 ) #!/bin/bash #倒序按天遍历日期 #传入遍历的开始时间和结束时间 startdate="$ ...
- groovy脚本执行与优化
1. 背景 Apache的Groovy是Java平台上设计的面向对象编程语言.这门动态语言拥有类似Python.Ruby和Smalltalk中的一些特性,可以作为Java平台的脚本语言使用,Groov ...
- 深入浅出Git教程+一个小时学会Git(转载)(堪称完美)
转载自: https://www.cnblogs.com/best/p/7474442.html#!comments 目录 一个小时学会Git 一.版本控制概要 工作区 暂存区 本地仓库 远程仓库 1 ...
最新文章
- Reddit高赞:机器学习领域「八宗罪」!同行评审变味,盲目崇拜盛行
- javascript中的字典
- RoIPooling
- STM32F 103C8T6开发板 点亮LED灯
- Pycharm连接远程服务器进行代码调试开发
- 网络故障排除连载之七:设备兼容性故障排除
- Modify text in webclient ui - persistent mode
- 《深入浅出vue.js》阅读笔记之数组变化侦测
- 解决 Windows 端口被占用问题
- Shell中如何删除首行和尾行
- 想了解直播系统开发用什么语言?
- 学习《华为基本法》(5):经营重心
- 利用IntelliJ IDEA与Maven开始你的Scala之旅
- 免费的思维导图软件哪个好?这篇文章告诉你
- 【2022HVV系列】蓝队手册更新版(建议收藏)
- 北京联通201校园宽带详解与解除限制方法(最新3.7客户端)
- c语言教程+school,w3school教程整理
- 10-133 4-5 查询具有最低价格的的彩色打印机的制造商
- 【愚公系列】2023年03月 Java教学课程 083-Tomcat发布java应用
- 获取同程(艺龙)酒店数据
热门文章
- 机器人 沈为民_水冷壁清扫检测爬壁机器人α.PDF
- 实现一个二叉树层级遍历_算法总结:左神class5—二叉树递归和非递归实现遍历(后序用一个栈彩蛋)...
- phpstudy免费安全检测服务_@你,您有一份免费安全服务已到账
- the python challenge_pythonchallenge 全部关卡提示
- 重庆曙光服务器虚拟化部署,VMware vCloud Director 安装部署教程
- Go的http库详解
- Linux磁盘系统——管理磁盘的命令
- TF-IDF算法-golang实现
- Linq to sql并发与事务
- 修改mysql数据库名称