base添加环境变量
conda目录下
find -name epsg
export PROJ_LIB=/opt/anaconda3/share/proj //添加环境变量
env //查看环境变量
echo $PROJ_LIB //打印环境变量
python删除文件目录
os.rmdir(path) 删除目录 // 只能删除空目录
os.remove(path) 删除文件
crontab日志输出
正确和错误日志 */1 * * * * /root/XXXX.sh > /tmp/load.log 2>&1 &
只输出正确日志 */1 * * * * /root/XXXX.sh > /tmp/load.log & 等同于 */1 * * * * /root/XXXX.sh 1>/tmp/load.log
只输出错误日志 */1 * * * * /root/XXXX.sh 2> /tmp/load.log &
名词解释
在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。所以这里2>&1的意思就是将标准错误也输出到标准输出当中。
就相当于 1> 也就是重定向标准输出,不包括标准错误。通过2>&1,就将标准错误重定向到标准输出了(stderr已作为stdout的副本),那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。如果只想重定向标准错误到文件中,则可以使用2> file。
vue axios封装及跨域处理
封装
npm install axios //安装
src文件夹下船舰utils目录,其下创建request.js
在这个文件里面,导入封装的 Axios 对象。
// 首先导入 axios
import axios from 'axios'
// 自己创建一个axios对象
const request = axios.create({
baseURL: '/', // 基础路径,默认是/ ,如果改了,会自动添加到你请求url前面
timeout: 5000 // 请求超时,5000毫秒
})
然后导出自定义创建的axios对象。
export default request // 导出自定义创建的 axios 对象
定义拦截器。
// 请求拦截器
request.interceptors.request.use( config => {
// 在发送请求之前做些什么
return config;
}, function (error) {
// 处理请求错误
return Promise.reject(error);
});
// 相应拦截器
request.interceptors.response.use( response => {
// 在2xx范围内的任何状态代码都会触发此功能
// 处理响应数据
return response;
}, function (error) {
// 任何超出2xx范围的状态代码都会触发此功能
// 处理响应错误
return Promise.reject(error);
});
跨域
src同级目录下创建vue.config.js
module.exports = {
devServer: {
port: 8888, // 端口号,如果端口号被占用,会自动提升1
host: "localhost", //主机名, 127.0.0.1, 真机 0.0.0.0
https: false, //协议
open: true, //启动服务时自动打开浏览器访问
proxy: { // 开发环境代理配置
'/dev-api': { // 意思是当请求是以 dev-api 开头的请求,都走代理
// 目标服务器地址,代理访问:http://localhost:8001
target: 'http://localhost:8001',
changeOrigin: true, // 开启代理服务器,就会给你代理转发
pathRewrite: {
// /dev-api/db.json 最终会转发到 http://localhost:8001/db.json
'^/dev-api': '', // 就是将请求地址中的 /dev-api 前缀替换成空的
}
}
}
},
lintOnSave: false, // 关闭格式检查
productionSourceMap: false, // 打包时不会生成 .map 文件,加快打包速度
}