Shell의 특수 문자 요약

巴扎黑
巴扎黑원래의
2017-08-15 15:55:381944검색

이 글에서는 주로 Shell의 특수 문자에 대한 관련 정보를 요약합니다. 이 글에는 &, #,! 문자가 포함되어 있습니다. , $, 기호보다 큼, 작은따옴표, 큰따옴표 등과 같은 일련의 특수 문자의 사용법이 샘플 코드를 통해 매우 자세하게 소개되어 있어 공부나 업무에 필요한 모든 사람에게 확실한 참고 학습 가치를 제공합니다. 아래를 살펴볼 수 있습니다.

머리말

우리 모두 알고 있듯이 셸은 Unix 계열 운영 체제의 명령 구문 분석기로서 사용자가 입력한 일련의 명령을 해석하고 실행하는 데 사용됩니다. Windows에서는 나중에 cmd.exe를 사용합니다. 동시에 쉘은 프로그래밍 언어이기도 합니다. 명령 해석 스크립트 언어로서 사용자가 입력한 명령을 대화식으로 해석하고 실행하거나 일련의 사전 설정된 명령을 자동으로 해석하고 실행하는 프로그래밍 언어로서 다양한 환경 변수를 미리 정의하고 일부 키워드 및 일부 특수 문자의 의미를 유지합니다. , 루프 및 분기 판단을 포함하여 고급 언어에서만 사용할 수 있는 많은 제어 구조를 제공합니다.

이 기사에서는 Shell 특수 문자 사용에 대한 관련 내용을 소개합니다. 더 이상 고민하지 말고 자세한 소개를 살펴보겠습니다.

1. 세미콜론

지속적으로 명령 실행하기


# ifdown eth0;ifup eth0

2, | 정규식의 Pipe

또는


# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符

이전 명령의 표준 출력이 다음 명령의 표준 입력으로 사용됩니다


# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行

3、&

실행을 위해 명령을 백그라운드에 두세요


# mysqld_safe --user=mysql & 将MySQL放到后台启动

표준 출력 및 표준 오류 출력을 나타냅니다


# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面

4, &&

이 이전 명령은 값이 0인 경우에만 실행합니다. 다음 명령은


# ls && echo "ok"

5, ||

다음 명령은 이전 명령의 반환 값이 0이 아닌 경우에만 실행됩니다. ㅋㅋㅋ 의 길이를 나타낸다 변수


# lls || echo "ok"

${#변수 이름[@]}은 배열의 수

# echo $#
0


7개를 나타냅니다. 느낌표


는 명령 또는 조건식의 반환 값을 반전합니다


# a='hello'
# echo ${#a}
5

Execute Historical Commands


# a=(1 2 3)
# echo ${#a[@]}
3

vi 또는 ftp

에서 외부 셸 명령을 실행합니다. 안으로 vim, 명령을 실행하려면 마지막 줄 모드로 입력하세요! 느낌표 뒤에 실행할 명령을 추가합니다 변수의 간접 적용

예: ${!a} ---- b



의 값을 간접적으로 취함 8, $ 달러 기호


변수 값 가져오기


# if ! [ 1<2 ]; then echo &#39;ok&#39;; else echo &#39;no&#39;; fi
ok

정규 표현식은 줄의 끝을 나타냅니다.


# history 
1 ls
2 tail test1.txt
3 mysql -uroot -p123
4 ls /tmp/
5 cd /tmp/
[root@localhost ~]# !994
ls /tmp/
account.sql data.sql mysql.sock t1.txt t2.txt

${!a} ---- 间接取b 的值

8、$ 美元符号

取变量的值


# a=10
# echo $a
10

正则表达式表示行尾


egrep &#39;:$&#39; /etc/inittab 
egrep ‘^hello$&#39; file

9、> 大于号

输出重定向


echo &#39;123&#39; >test.txt 表示将123 输入到文件test.txt中 条件测试中的大于号

11、93e876018ab65e284346ddee524cced3>

输出重定向追加 - 例如:echo "123" >> test.txt
9、>

출력 리디렉션

# passwd <<end
> 123
> 123
> end


11, 36beff001c8687c4cc0c009953dd2db7>
출력 리디렉션 추가 - 예: echo "123" >> .txt 123을 test.txt 파일에서 🎜🎜🎜🎜14, 1060d46779375faf83d0f017b670d10a2 )) 判断10是否大于2

22、[] 单方括号

通配符和正则中表示匹配括号中的任意一个字符

例如: [abc] 表示匹配abc中的任意一个字符

条件测试表达式

例如: [ -f /etc/passwd ] // 测试是不是文件

数组中下标括号

例如:echo ${a[0]} 表示取数组中下标为0的值

23、[[]] 双方括号

字符串比较测试

例如: [[a=b]] 用来字符串的比较

24、. 英文句点号

正则中表示任意1个字符

例如:a...b 表示 匹配 a和b之间夹三个字符的字符串

当前shell执行脚本命令

例如: ./test.sh 执行当前路径下的shell脚本test.sh

表示当前目录

例如:cd ./bgk 进入当前目录下的bgk目录下

25、{} 大括号

通配符扩展 abc{1,2,3}

正则表达式中表示范围

例如:a{3} 匹配3个 a

for i in {1...10} 循环指定范围

匿名函数{ cmd1;cmd2;cmd3;} &> /dev/null

{ } 里面的命令,是在当前shell执行

注意: { } 第一条命令前面要有空格,后面的命令要有分号

括起变量名 ${abc}a

26、/ 正斜杠

算术运算中的除法

例如:echo $((10/2)) 结果就是5

根目录或路径分割符

例如:cd /usr/local/ 表示路径

27、^

在通配符中表示取反

例如:[^abc] 表示匹配除了abc外的任意一个字符

在正则表达式中表示以什么开头

例如:


egrep ‘^hello$&#39; file

위 내용은 Shell의 특수 문자 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.