botang 发表于 2019-6-30 21:26:05

Bash Shell编程

#!/bin/sh
read -p "Please input number1: " V_NUM1
read -p "Please input number2: " V_NUM2
bc <<EOF
scale=10
$V_NUM1/$V_NUM2
quit
EOF


SUB_BC() {
read -p "Please input number1: " V_NUM1
read -p "Please input number2: " V_NUM2
bc <<-EOF
scale=10
$V_NUM1/$V_NUM2
quit
EOF
}



#!/bin/sh
. ./2.func

SUB_BC

了解变量,和存储位置参数的变量:
SUB_A() {
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
echo $*
echo $#
echo $?
}


#!/bin/sh

. ./5.func

SUB_A 1 2 3 4 5 6 7 8 9 a
# ./5.sh
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 a
10
0

SUB_A() {
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
echo $*
echo $#
echo $?
}# ./5.sh
1 2 3 4 5 6 7 8 9 a
1 2 3 4 5 6 7 8 9 a
10
0
------------------------------------------------------

$() 会自动把输出中的回车,自动替换成空格:








# seq 100-2 0
100
98
96
94
92
90
88
86
84
82
80
78
76
74
72
70
68
66
64
62
60
58
56
54
52
50
48
46
44
42
40
38
36
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
# A=$(seq 100-2 0)
# echo $A
100 98 96 94 92 90 88 86 84 82 80 78 76 74 72 70 68 66 64 62 60 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0
#

# echo $[ $RANDOM % 60 +1 ]
36
# echo $[ $RANDOM % 60 +1 ]
14
# echo $[ $RANDOM % 60 +1 ]
58
# echo $[ $RANDOM % 60 +1 ]
27
# echo $[ $RANDOM % 60 +1 ]
46
# echo $[ $RANDOM % 60 +1 ]
18
# echo $[ $RANDOM % 60 +1 ]
6
# echo $[ $RANDOM % 60 +1 ]
21

# for i in * ; do du -s$i; done |sort -n
du: cannot access ‘proc/68253/task/68253/fd/3’: No such file or directory
du: cannot access ‘proc/68253/task/68253/fdinfo/3’: No such file or directory
du: cannot access ‘proc/68253/fd/4’: No such file or directory
du: cannot access ‘proc/68253/fdinfo/4’: No such file or directory
0       bin
0       dev
0       lib
0       lib64
0       media
0       nfsserver
0       opt
0       proc
0       sbin
0       srv
0       sys
4       mnt
20      home
564   tmp
2356    lost+found
11128   run
48624   etc
107620root
148236boot
1113676 var
3683376 usr
#
-------------------------------------------------------------------------
事件观察者:
#!/bin/sh

echo "Waiting for the file: "
until [ -f ./6.txt]
do
sleep 1
done

echo "The file exists."


#!/bin/sh

echo "Waiting for the file: "
while [ ! -f ./7.txt]
do
sleep 1
done

echo "The file exists."

1.sh :
#!/bin/sh

read -p "Please input color: " V_C

case "$V_C" in
r)
echo "redhat"
;;
g)
echo "green"
;;
*)
echo "other color"
;;
esac

2.sh
#!/bin/sh

if [ $# -eq 0 ]
then
echo "No argument"
exit 1
fi

if [ ! -f $1 ]
then
echo "No file"
exit 2
fi

V_F=$(cat $1)

for i in $V_F
do
echo "useradd -s /sbin/nologin $i"
done



























页: [1]
查看完整版本: Bash Shell编程