在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识。
查看脚本文件是dos格式还是unix格式的几种办法。
(1)cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$。
(2)od -t x1 filename 如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式。
(3)vi filename打开文件,执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。
解决方法:
(1)使用linux命令dos2unix filename,直接把文件转换为unix格式
(2)使用sed命令sed -i "s/\r//" filename 或者 sed -i "s/^M//" filename直接替换结尾符为unix格式
(3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。
解决“/bin/bash^M: bad interpreter: No such file or directory”
-
nuxt如何在其它js文件中使用store
在新建的js文件中想用store里面的数据,比如token想在封装的axios里面,请求头里面去使用,亦或者通过app的JS接口获取token并存储在store里面。我们都知道如何在vue中如何使用。
-
vuex 设置state时的骚操作,批量设置state
vuex,state,批量,vue,react
-
使用postMessage来实现父子通信跨域
1.子向父,子postMessage,父监听message; 2.父向子,父postMessage,子监听message; 3.测试发现,子向父postMessage的时候,源可以写为‘*’,父向子postMessage的时候,源需要写成子的源,(也就是子页面的协议+主机号+端口) 测试代码部分:
-
Object.entries()
Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)
-
xcrun: error: SDK 'iphoneos' cannot be located错误的解决方案
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
-
You are not allowed to force push code to a protected branch on this project 解决 GitLab:
当我们有时候回滚了代码,想强制push到远程仓库的时候,--force。。。
-
向Rocket.Chat推送消息
如何从后台访问接口,向Rocket.Chat推送消息
-
Android Project 检查依赖库和插件版本
studio依赖 - 如何在Android Studio中显示依赖关系树?
-
kotlinx.android.synthetic.** 用法与总结
可以直接使用layout id 名称获取当前view对象,详细使用如下:
-
Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Message
1.?:在非空的情况下执行语句,为空时直接返回null 1.!!:表示忽略语言的判空检查,即允许程序报NullPointerException(在kotlin中一般不建议这种写法,除非使用处一定不为空)