Linux Shell 语法(上)

Hello World! #! /bin/bash echo "Hello World!" 第一行是注释,声明用bash作为此脚本的解释器。注释分为两种: # 单行注释 :<<EOF 多行 注释 EOF # 其中EOF可以替换为任意字符串 第二行的echo用于在控制台上输出内容并自动换行。准确的说,echo会输出传递给它的所有参数,以空格分隔。 "Hello World!" 是字符串,后面会详细介绍。 保存后可以使用bash filename.sh运行,或者: chmod +x filename.sh # 赋予可执行权限 ./hw.sh # 作为可执行文件执行 变量 定义可变变量 v1=123 v2=123.4 v3=fifcom v4="fifcom" v5='fifcom' declare v6=fifcom # 变量默认为字符串,在使用时会根据需求自动转换类型 # 注意:定义变量时等号的左右两边不可以有空格 # 否则可能被解析器作为系统命令来执行 定义只读变量 readonly v1="immut" # 定义只读变量 v2="mut" readonly v2 # 转换为只读变量 declare -r v3="immut" # 定义只读变量 使用变量 使用变量需要加上$或${}符号。 ${} 可以帮助解释器识别变量名 v1=fifcom echo $v1 # 输出fifcom echo ${v1} # 输出fifcom echo ${v1}v1 # 输出fifcomv1 删除变量 用unset删除变量。只读变量不可删除。...

January 3, 2022 · 2 min · FIFCOM

CF/YJS CDN下使用PHP获取客户端真实IP地址

打印一下$_SERVER <?php echo json_encode($_SERVER, JSON_UNESCAPED_UNICODE); ?> 有这几项值得注意 "HTTP_X_FORWARDED_FOR":"[YOUR_IP]", "HTTP_CF_IPCOUNTRY":"[YOUR_COUNTRY]", "HTTP_CF_CONNECTING_IP":"[YOUR_IP]", "HTTP_CDN_LOOP":"cloudflare", 即 `$_SERVER["HTTP_X_FORWARDED_FOR"]` 就是客户端的真实IP地址 另外不支持IPv6的服务器也可以通过 $_SERVER["HTTP_X_FORWARDED_FOR"] 来获取客户端的IPv6地址 自动根据情况获取IP: $ip = isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != "" ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];

November 27, 2021 · 1 min · FIFCOM

nginx 反代解决CORS问题

同源策略规定,浏览器的ajax只能访问跟它的HTML页面同源(相同域名或IP)的资源。 使用ajax时容易遇到跨域问题 就像这样 最好的方法自然是修改服务端代码,如php里的 header("Access-Control-Allow-Origin: blog.fifcom.cn"); // 允许指定域名跨域 header("Access-Control-Allow-Origin: *"); // 允许任意域名跨域 不过有时候无法修改服务端代码,这时候就需要用 nginx 反代来解决了。编辑 nginx.conf 并添加: server { listen 443 ssl; # listen 80; # 如为http则监听80 ssl on; ssl_certificate /path/pub.crt; #ssl证书 ssl_certificate_key /path/pri.key;#ssl私钥 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; server_name example-proxy.fifcom.cn; #你的反代域名 location / { proxy_pass https://example.fifcom.cn; # 被代理的域名(源站) proxy_http_version 1.1; # proxy_set_header Referer https://example.fifcom.cn; # 源站检测referer时需加上 # 一些其他设置 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_buffering off; proxy_cache off; proxy_set_header X-Forwarded-Proto $scheme; add_header X-Cache $upstream_cache_status; add_header Access-Control-Allow-Methods *; # 允许所有跨域方法 add_header Access-Control-Max-Age 3600; # 缓存,否则会发送两次请求 # add_header Access-Control-Allow-Credentials true; # 请求包含cookie时要开启 add_header Access-Control-Allow-Origin $http_origin; # 允许客户端跨域,不用*是因为请求包含cookie时不支持允许所有 add_header Access-Control-Allow-Headers $http_access_control_request_headers; # 自动配置允许的header if ($request_method = OPTIONS){ return 200; # 判断请求类型是否为预检命令 } proxy_set_header Host example....

November 27, 2021 · 1 min · FIFCOM

在Debian10上安装AdoptOpenJDK16

首先卸载掉自带的openjdk apt-get remove openjdk* apt-get purge openjdk* 再配置一下源 信任GnuPG公钥 wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - 在/etc/apt/sources.list.d/AdoptOpenJDK.list里添加以下内容: deb http://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/deb buster main (编辑器可以用vim : vi /etc/apt/sources.list.d/AdoptOpenJDK.list ,添加完成后输入 :wq! 退出) 更新apt sudo apt-get update 下载并安装 AdoptOpenJDK 16 sudo apt install adoptopenjdk-16-openj9 完成! 参考 AdoptOpenJDK 镜像使用帮助

July 6, 2021 · 1 min · FIFCOM

友情链接

淅筱TUEP的博客 粉身若叶のBlog

January 1, 2020 · 1 min · FIFCOM