执行脚本出现以下问题怎么办?

有时在linux上执行脚本时出现以下错误:

bash: ./squid.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录

那么出现这种情况就可能是因为你在windows上编写的脚本,由于windows与linux不完全兼容,所以文件格式可能不同。

解决方法:

vim squid.sh

:set ff?

如果出现fileformat=dos说明就是文件格式的问题

接着执行:set fileformat=unix

:wq

转化以下文件格式就可以接着执行脚本了。

时间: 2024-09-30 06:55:54

执行脚本出现以下问题怎么办?的相关文章

编写脚本标准的格式与执行脚本

编写脚本标准的格式: 第一行:#!/bin/bash  表示定义该脚本是一个shell脚本(固定格式) 第二行:#              这里的#属于注解,没有任何意义,shell 不会解析它. 第三行:#说明一下该脚本的作用 第四行:#写一下脚本的author(作者) 编写时间 第五行:写脚本内容 二三四行可有可无,建议养成好习惯. 要执行脚本(例如:first_shell.sh): (1)   加执行权限: chmod o+x first_shell.sh 运行脚本:./first_sh

Crontab执行脚本中的ssh命令访问被拒绝

我们经常会通过crontab来执行定时任务,通常生产环境中在不同主机直接进行登录是通过ssh来连接的.比如我们通过在备份服务器上设定定时任务,定期通过scp(使用SSH的远程拷贝命令)来拷贝远程服务器的数据到备份服务器上,这也是我遇到的一个事情. 环境描述: 脚本与定时任务: 定时任务设置如下: 无论是否执行成功,都把信息输出到2222.txt中 脚本内容如下: 我这里仅用ssh命令来测试,实际上这个命令如果可以正常执行的话,你执行scp命令也一样 #!/bin/bash ssh -v 192.

【MYSQL】在脚本中使用变量-执行脚本时传参

在shell脚本里可以定义变量,并在执行脚本时任意传参. #!/bin/bashdb_name=$1 #将第一个值赋给db_name变量sql_name=$2 #将第二个值赋给sql_name变量mysql -uroot -p123456 -h192.168.227.129 $db_name < $sql_name 在执行shell脚本时,在执行命令后面直接传参即可 ./sqlrecovery jinqy jinqy.sql

在Powershell中禁止执行脚本

在Powershell中执行脚本时,有如下报错: 无法加载文件 F:\script\1.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing". 所在位置 行:1 字符: 8 + .\1.ps1 <<<< + CategoryInfo          : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeExc

python中获取执行脚本路径方法

1.sys.path[0]:获取执行脚本目录绝对路径 #每次执行脚本时,python会将执行脚本目录加入PYTHONPATH环境变量中(sys.path获取) #!/usr/bin/python3 import os import sys print(sys.path) print(sys.path[0]) 执行结果: [[email protected] tmp]# ./py_test1/pytest24.py ['/tmp/py_test1', '/usr/local/lib/python3

执行脚本传入参数

执行脚本传入参数具体用在什么地方?

Shell执行脚本

Shell作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行这一条,这种方式称为交互式,但还有另一种执行命令的方式称为批处理方式,用户事先写一个Shell脚本,Shell可以一次把这些命令执行完. 如下例子: 第一种执行方式:chmode+x script.sh 执行过程: Shell会fork一个子进程并调用exec执行./script.sh这个程序,exec系统调用会把子进程代码段替换成./script.sh程序的代码段,exec有一种机制,如果要执行的是一个文本文件,并且第一

2.3-命令批量执行脚本

命令批量执行脚本,同样需要两个脚本来实现:1 exe.expect 2 exe.sh 3 ip.list    IP列表 cat exe.expect #!/usr/bin/expect set host [lindex $argv 0]            #第一个参数,IP列表 set passwd "hd792310" set cm [lindex $argv 1]              #第二个参数,cm要执行的命令 spawn ssh [email protected]

[BASH]获取执行脚本的路径

SCRIPT=$(readlink -f "$0") #当前执行脚本的真实路径,兼容软链接 basedir=$(dirname "$SCRIPT") #当前执行脚本的所在目录