awk 的用法实在太多了,网上的文章写的也很乱,下面的两篇文章写的非常的好,在以后写shell 脚本的过程中可以使用:
https://einverne.github.io/post/2018/01/awk.htmlAWK 简明教程
awk 的用法实在太多了,网上的文章写的也很乱,下面的两篇文章写的非常的好,在以后写shell 脚本的过程中可以使用:
https://einverne.github.io/post/2018/01/awk.htmlAWK 简明教程
第一种方法, 根据这篇文章所说:
float=1.23 int=${float%.*}
第二种方法: 使用bc 命令
$ echo "($float+0.5)/1" | bc
第三种方法: 使用 printf
$ myduration=6.5 $ myduration=$( printf "%.0f" $myduration ) $ echo $myduration 6
四种模式匹配替换结构:
${var%pattern},${var%%pattern},${var#pattern},${var##pattern}
第一种模式:${variable%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最短的匹配模式
第二种模式: ${variable%%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式
第三种模式:${variable#pattern} 这种模式时,shell在variable中查找,看它是否一给的模式pattern开始,如果是,就从命令行把variable中的内容去掉左边最短的匹配模式
第四种模式: ${variable##pattern} 这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式
这四种模式中都不会改变variable的值,其中,只有在pattern中使用了*匹配符号时,%和%%,#和##才有区别。结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[…]表示匹配中括号里面的字符,[!…]表示不匹配中括号里面的字符
bogon:/home/bash # var=testcase bogon:/home/bash # echo $var testcase bogon:/home/bash # echo ${var%s*e} testca bogon:/home/bash # echo $var testcase bogon:/home/bash # echo ${var%%s*e} te bogon:/home/bash # echo ${var#?e} stcase bogon:/home/bash # echo ${var##?e} stcase bogon:/home/bash # echo ${var##*e} bogon:/home/bash # echo ${var##*s} e bogon:/home/bash # echo ${var##test} case
在centos上安装了smokeping 以后,我们可能会经常遇到各种问题
经常用iptables,每用一次。。就得去查一下文档,太麻烦了。。这里记录一下。。。
We can use nginx as an example:
[[email protected]:~]nginx -V
nginx version: nginx/1.4.1
built by gcc 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
TLS SNI support enabled
configure arguments: –prefix=/etc/nginx/ –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
–http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=nginx –group=nginx –with-http_ssl_module
–with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module
–with-http_flv_module –with-http_mp4_module –with-http_gzip_static_module –with-http_random_index_module
–with-http_secure_link_module –with-http_stub_status_module –with-mail –with-mail_ssl_module
–with-file-aio –with-ipv6 –with-cc-opt=’-O2 -g’ –add-module=/usr/src/headers-more-nginx-module-0.20
If we compile nginx from source, we can use
./configure –with-http_flv_module –with-http_mp4_module –with-other-modules
经常编译linux, 会发现make distclean这个名字。
make clean仅仅是清除之前编译的可执行文件及配置文件。
而make distclean要清除所有生成的文件。
Makefile
在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:
make
根据Makefile编译源代码,连接,生成目标文件,可执行文件。