echo不简单-linux echo的八种实用用法

echo显示一行文字!但是你真以为只有显示一行文字那么简单吗?告诉你一些不为认知的更多echo用法,仅供参考!

1 打印简单字符串

user@user:~$ echo "hello world"
hello world

2 打印特定变量

user@user:~/bin$ var1="hello world"
user@user:~/bin$ echo "$var1"
hello world
user@user:~/bin$ echo '$var1'
$var1

linux中双引号会转义特殊符号,比如以$开头的变量;

而单引号则会默认不识别这些变量;

3 打印转义字符串

    \NNN  字符的ASCII代码为NNN(八进制)
    \\    反斜线
    \a    报警符(BEL)
    \b    退格符
    \c    禁止尾随的换行符
    \f    换页符
    \n    换行符
    \r    回车符
    \t    水平制表符
    \v    纵向制表符

4 各种颜色打印输出

复制如下脚本到文件以后方便使用各种打印;

#!/bin/bash
function LOG_GREEN()                                                 
{                                                                  
    echo -e "\033[32m${*}\033[0m"                               
}                                                                          
function LOG_YELLOW()                                               
{                                                                       
	echo -e "\033[33m${*}\033[0m"                                    
}                                                                              
function LOG_RED()                                                   
{
    echo -e "\033[31m${*}\033[0m"                                   
}                                                                   
function LOG_BLUE()                                                 
{ 
    echo -e "\033[34m${*}\033[0m"                                   
}                                                                   
function LOG_BLACK()                                                 
{
    echo -e "\033[30m${*}\033[0m"                                   
}                                

各种颜色设置参见这个脚本:

#!/bin/bash
cat << haha
    You can write like this :
        \033[one;two;three m
    This is called ansi color.
    "echo -e " you can use escapes !
    for more infomation ,try "man echo"
haha
#character attributes
a=(normal 0 
bold 1 
dim 2
italic 3
under 4
blink 5
six 6
revert 7
conceal 8
delete 9 
)  
#forecolor
b=(
black 30
red 31
green 32
yellow 33
blue 34
magenta 35
cyan 36
white 37 
)
#backcolor
c=(
black 40
red 41
green 42
yellow 43
blue 44
magenta 45
cyan 46
white 47
)
function show(){
    while test $# -gt 0;do
        echo  -e "\033[${2}m weidiao\033[0m   $1    $2" | column -t
        shift 2
    done
}
show ${a[*]}
echo ===============fore color ======================
show ${b[*]}
echo ================back color ====================
show ${c[*]}
echo ================random ========================
echo -e "\033[${b[3]};${c[1]}m weidiao is great\033[0m"

5 打印其他命令行执行结果

执行 echo `command` 或者echo $(command)

打印命令行显示结果

特别注意:``这个反单引号不是单引号;

user@user:~/bin$ echo `date`
2019年 07月 30日 星期二 11:15:21 CST

6 进制转换–其他进制转换为十进制

user@user:~/bin$ echo $((2#1010))
10
user@user:~/bin$ echo $((3#12))
5
user@user:~/bin$ echo $((8#11))
9
user@user:~/bin$ echo $((10#11))
11
user@user:~/bin$ echo $((16#11))
17

7 10进制转16进制脚本

#!/usr/bin/env bash                                                
echo "input   十进制: $1"                                            
value=$(echo "obase=16;$1" | bc)                                    
echo "ouput 十六进制: $value" 

8 16进制转10进制脚本

#!/usr/bin/env bash                                                
echo " input  16进制: $1"                                          
let i=16#$1           
echo "output  10进制: $i" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值