base脚本执行的一些问题

1先说脚本执行问题

ubuntu下/bin/sh的指向

ubuntu 下 /bin/sh 默认是dash,用ls -l /bin/sh就可以看出来sh是指向dash的链接,有时候会导致使用bash脚本的时候出问题。

如果遇到这个问题了,就要把sh指向bash。

可以用ln:ln -s /bin/bash /bin/sh

或者用sudo dpkg-reconfigure dash 选择否

2再来看

  1. -bash: ./run.sh: Permission denied

这种一看就知道是没有权限执行

只需要执行

  1. chomd +x *.sh

3继续

  1. [[email protected] test]# ./run.sh
  2. -bash: ./run.sh: /bin/sh^M: bad interpreter: No such file or directory

这种情况主要原因是run.sh在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。

我们使用vim来转一下格式

  1. [[email protected] test]# vi run.sh

在vi命令模式中使用 :set ff 命令

  1. :set ff

可以看到改文件的格式为dos

  1. fileformat=dos

修改文件format为unix

方法一:使用vi修改文件format

命令:set ff=unix

  1. set ff=unix

执行完后再通过set ff命令查看文件格式,结果如下:

  1. fileformat=unix

方法二:直接使用dos2unix命令修改

  1. [[email protected] test]# dos2unix run.sh
  2. dos2unix: converting file run.sh to UNIX format ...
时间: 2024-08-06 14:31:07

base脚本执行的一些问题的相关文章

execscript将指定字符串作为脚本执行

转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/ execScript将指定的字符串当做脚本来执行,ie和早期的chrome支持,新版本的chrome已经不支持这个方法,下面我们模拟一个: <!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>execscript将指定字符串作为脚本执行</title>

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

linux shell脚本执行错误:bad substitution

脚本test.sh内容: #!/bin/bash read pressKey indexes=0 c=${pressKey:indexes:1} 使用调试方式执行:sh -x test.sh第3行总出现bad substitution提示信息. 百思不得其解: 于是百度,查到一条有用信息,这与linux shell使用的是/bin/sh,还是/bin/bash有关系.我的脚本中指定使用的是/bin/bash shell,但是我在调试的时候使用的是sh shell,因此调试时导致错误提示信息. 解

lnmp源码安装-脚本执行

lnmp 源码安装- 脚本执行 源码包版本: nginx1.9 mysql5.6.4 php5.6 使用: 将lnmp.tar.gz 解压至 根目录下,进入/lnmp/install/目录下,执行install.sh脚本即可.选择性安装! 安装过程中会有些警告信息显示,不影响. 整合包地址:http://pan.baidu.com/s/1dFp7gqP =======================代码============================= #!/bin/bash #####

二、shell文件权限和脚本执行

一.认识权限和用户管理 1.查看权限 权限类型: 1.r 读 2.w 写 3.x 可执行 Linux用户 1.所有者(u) 2.所属组(g) (所有者及所有者所在组的全部用户) 3.其他用户(o)(其他组的所有用户(包括文件所有者)) 4.所有用户(a) 文件权限解读 文件类型 所有者权限  所属组权限  其他用户权限            所有者  用户所在的组  文件大小  创建时间  文件名 [[email protected] ~]# ll 总用量 100 -rw-------. 1 r

python脚本执行Scapy出现IPv6警告WARNING解决办法

安装完scapy,写了脚本执行后执行: WARNING: No route found for IPv6 destination :: (no default route?) 原因是用 from scapy.all import *的时候把ipv6相关的模块也导进去了,想关闭警告,我们可以打开scapy安装目录(我电脑上的路径是C:\Python27\Lib\site-packages),打开all.py文件,把与ipv6相关的几行注释掉就OK了,26行开始 #if conf.ipv6_enab

shell脚本执行超时怎么办?

在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象.一般来说遇到这种问题,我们都会简单粗暴的采用下面这种脚本来当"超时看门狗": #!/bin/bash ./$1 &    #这里设定后台运行的第一个参数 pid = $!    #最后一个运行的process的PID值 sleep $2 && kill -9 $pid &    #如果超过了$2的值的话,就会把那个PID干掉 这个脚本搭配两个变量使用的话,监控一点小代码还算OK,但是它

mgFCuyPT回脚本执行的结果

黝蝈谏湎 mgFCuyPT回脚本执行的结果

PowerDesigner16.5 生成SQL脚本执行出错:collate chinese_prc_ci_as

PowerDesigner16.5 生成SQL脚本执行出错, collate chinese_prc_ci_as 点DataBase-edit current dbms —— 左边Script - Objects - Column - Add ,左边 Value输入框 把一下代码粘贴进去,保存即可. 如果遇到保存失败,用管理员身份运行,再操作. %20:COLUMN%[%COMPUTE%?AS (%COMPUTE%):[%.L:DATATYPE%=xml?xml[%XMLSchemaCollec