Shell 스 크 립 트 에서 서로 다른 진 데이터 변환 의 예 (2 진, 8 진, 16 진, base 64)

2411 단어
셸 은 제3자 명령 을 호출 하지 않 고 다른 진 데 이 터 를 표시 할 수 있 습 니 다.여기 서 다음 과 같은 표현 방법 을 요약 한다.셸 스 크 립 트 의 기본 수 치 는 10 진수 로 처 리 됩 니 다. 이 숫자 가 특정한 표기 법 이나 접두사 로 시작 하지 않 는 한 다른 진수 형식 수 치 를 표시 할 수 있 습 니 다.예 를 들 어 0 으로 시작 하면 8 진법 입 니 다. 0 x 로 시작 하면 16 진수 입 니 다. BASE\# NUMBER 를 사용 하면 다른 진법 을 나 타 낼 수 있 습 니 다. BASE 값: 2 - 64.
사용 방법:
다른 진 이 10 진 으로 바 뀌 었 습 니 다.
8 진법 10 진법:
 
  
[chengmo@centos5 ~]$ ((num=0123));
[chengmo@centos5 ~]$ echo $num;
83

[chengmo@centos5 ~]$ ((num=8#123));
[chengmo@centos5 ~]$ echo $num;   
83


(표현 식), (() 안에 임의의 데이터 표현 식 이 있 을 수 있 습 니 다.앞에서 "$"를 추가 하면 계산 결 과 를 읽 을 수 있 습 니 다.
16 진법 10 진법:
 
  
[chengmo@centos5 ~]$ ((num=0xff));
[chengmo@centos5 ~]$ echo $num;   
255
[chengmo@centos5 ~]$ ((num=16#ff));
[chengmo@centos5 ~]$ echo $num;   
255

base - 32 등급 10 진법:
 
  
[chengmo@centos5 ~]$ ((num=32#ffff));
[chengmo@centos5 ~]$ echo $num;     
507375

base 64 회전 10 진법:
 
  
[chengmo@centos5 ~]$ ((num=64#abc_));
[chengmo@centos5 ~]$ echo $num;      
2667327

바 이 너 리 10 진법
 
  
[chengmo@centos5 ~]$ ((num=2#11111111)); 
[chengmo@centos5 ~]$ echo $num;
255

10 진법 을 다른 진법 으로 바꾸다
십 진법
여기 사용: bc 외부 명령 완료.bc 명령 형식 변환: echo "obase = 진법; 값"| bc
 
  
[chengmo@centos5 ~]$ echo "obase=8;01234567"|bc
4553207

2 진법, 16 진법, base 64 를 10 진법 으로 바 꾸 는 것 도 같은 방법 이다.
 
  
[chengmo@centos5 ~]$ echo "obase=64;123456"|bc 
30 09 00

셸, 각종 진법 표시 방법 을 내장 하 는 것 은 매우 간단 하 다.base\# number 를 기억 하면 됩 니 다.할당 할 때 () 기 호 를 사용 하 는 것 을 기억 합 니 다.직접 사용 할 수 없습니다.번 호 는 값 형식 이 없습니다.기본적으로 뒤쪽 을 문자열 로 바 꿉 니 다.예:
 
  
[chengmo@centos5 ~]$ num=0123;
[chengmo@centos5 ~]$ echo $num;
0123

0 시작은 이미 의 미 를 잃 었 다.
정의 문자: let 를 통 해 () 연산 효 과 를 얻 을 수 있 습 니 다.
 
  
[chengmo@centos5 ~]$ let num=0123;
[chengmo@centos5 ~]$ echo $num;  
83

다른 더 좋 은 방법 이 있 으 니 여러분 들 은 저 와 나 눌 수 있 습 니 다.

좋은 웹페이지 즐겨찾기