您的位置:首页 > 运维架构 > Shell

Shell攻略-小试牛刀

2013-09-25 11:06 190 查看
打印

[hadoop@localhost 桌面]$ echo hello world!

hello world!

[hadoop@localhost 桌面]$ echo 'hello world!'

hello world!

[hadoop@localhost 桌面]$ echo "hello world!"

echo "hello world"fff"

> ^C

[hadoop@localhost 桌面]$ echo "hello world\!"

hello world\!

[hadoop@localhost 桌面]$ printf "%-5d %-10s\n" 1  good

1     good      

变量

[hadoop@localhost 桌面]$ var="hello"

[hadoop@localhost 桌面]$ echo $var

hello

[hadoop@localhost 桌面]$ echo ${var}

hello

[hadoop@localhost 桌面]$ fruit="apple"

[hadoop@localhost 桌面]$ count=5

[hadoop@localhost 桌面]$ echo "We have $count ${fruit}(s)"

We have 5 apple(s)

求长度

[hadoop@localhost 桌面]$ var=123456

[hadoop@localhost 桌面]$ length=${#var}

[hadoop@localhost 桌面]$ echo $length

6

数学运算

[hadoop@localhost 桌面]$ n1=3;n2=4

[hadoop@localhost 桌面]$ a1=n1++;b1=n2--

[hadoop@localhost 桌面]$ let sum=a1+b1

[hadoop@localhost 桌面]$ echo $sum

7

[hadoop@localhost 桌面]$ result=$[n1+n2]

[hadoop@localhost 桌面]$ echo $result

7

[hadoop@localhost 桌面]$ echo "4*0.56" |bc

2.24

[hadoop@localhost 桌面]$ echo "scale=1; 3/8" | bc

.3

[hadoop@localhost 桌面]$ echo "scale=2; 3/8" | bc

.37

[hadoop@localhost 桌面]$ echo "scale=3; 3/8" | bc

.375

[hadoop@localhost 桌面]$ echo "scale=4; 3/8" | bc

.3750

重定向

[hadoop@localhost 桌面]$ echo "This is a sample text 1" >temp.txt

[hadoop@localhost 桌面]$ echo "This is a sample text 2" >>temp.txt

[hadoop@localhost 桌面]$ cat temp.txt

This is a sample text 1

This is a sample text 2

[hadoop@localhost 桌面]$ touch a1

[hadoop@localhost 桌面]$ cp a1 a2

[hadoop@localhost 桌面]$ cp a1 a3

[hadoop@localhost 桌面]$ chmod 000 a1

[hadoop@localhost 桌面]$ cat a*

cat: a1: 权限不够

[hadoop@localhost 桌面]$ cat a* 2>err.txt

[hadoop@localhost 桌面]$ cat a* 1>correct.txt  2>err.txt

[hadoop@localhost 桌面]$ cat <<EOF>log.txt

> LOG FILE HEADER

> This is a text log file

> function: system statistics

> EOF

[hadoop@localhost 桌面]$ cat log.txt

LOG FILE HEADER

This is a text log file

function: system statistics

[hadoop@localhost 桌面]$ echo this is a text line >input.txt

[hadoop@localhost 桌面]$ exec 3<input.txt

[hadoop@localhost 桌面]$ cat <&3

this is a text line

[hadoop@localhost 桌面]$ cat <&3

[hadoop@localhost 桌面]$ exec 4>output.txt

[hadoop@localhost 桌面]$ echo newline >&4

[hadoop@localhost 桌面]$ cat output.txt

newline

[hadoop@localhost 桌面]$ exec 5>>input.txt

[hadoop@localhost 桌面]$ echo appended line >&5

[hadoop@localhost 桌面]$ cat input.txt

this is a text line

appended line

数组

[hadoop@localhost 桌面]$ array_var[0]="t1"

[hadoop@localhost 桌面]$ array_var[1]="t2"

[hadoop@localhost 桌面]$ array_var[6]="t6"

[hadoop@localhost 桌面]$ echo ${array_var[0]}

t1

[hadoop@localhost 桌面]$ echo ${array_var[*]}

t1 t2 t6

[hadoop@localhost 桌面]$ echo ${#array_var[*]}

3

使用别名

[hadoop@localhost 桌面]$ alias install='sudo apt-get install'

[hadoop@localhost 桌面]$ echo $alias

[hadoop@localhost 桌面]$ alias

alias install='sudo apt-get install'

alias l.='ls -d .* --color=auto'

alias ll='ls -l --color=auto'

alias ls='ls --color=auto'

alias vi='vim'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

时间

[hadoop@localhost 桌面]$ date

2013年 09月 25日 星期三 09:59:46 CST

[hadoop@localhost 桌面]$ date +%s

1380074436

[hadoop@localhost 桌面]$ start=$(date +%s)

[hadoop@localhost 桌面]$ end=$(date +%s)

[hadoop@localhost 桌面]$ interval=$[end-start]

[hadoop@localhost 桌面]$ echo $interval

13

迭代器

[hadoop@localhost 桌面]$ data="name,sex,roll"

[hadoop@localhost 桌面]$ oldIFS=$IFS

[hadoop@localhost 桌面]$ IFS=,

[hadoop@localhost 桌面]$ for item in $data

> do 

> echo Item:$item

> done

Item:name

Item:sex

Item:roll

[hadoop@localhost 桌面]$ IFS=$oldIFS

循环

[hadoop@localhost 桌面]$ sum=0; 

for i in {1..100}; 

do 

sum=$[$sum+$i]; 

done;

echo $sum

5050

比较

[hadoop@localhost 桌面]$ if [-e $fpath];then echo FIle exists;else echo Does not exits; fi

bash: [-e: command not found

Does not exits
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: