向脚本传递参数
./script argument
显示文件名称脚本
./show.sh file1.txt
cat show.sh
echo $1
在脚本中使用参数
第一个参数 : $1,第二个参数 : $2
脚本会复制文件(arg1) 到目标地址(arg2)
./copy.sh file1.txt /tmp/
cat copy.sh
cp $1 $2
计算传递进来的参数
$#
在脚本中获取脚本名称
$0
检查之前的命令是否运行成功
$?
获取一个文件每一行的第三个元素
awk '{print $3}'
假如文件中每行第一个元素是 FIND,如何获取第二个元素
awk '{ if ($1 == "FIND") print $2}'
连接两个字符串
V1="Hello"
V2="World"
V3=${V1}${V2}
echo $V3
两个整数相加
V1=1
V2=2
let V3=$V1+$V2
echo $V3
A=5
B=6
echo $(($A+$B)) # 方法 2
echo $[$A+$B] # 方法 3
expr $A + $B # 方法 4
echo $A+$B | bc # 方法 5
检查文件系统中是否存在某个文件?
if [ -f /var/log/messages ]
then
echo "File exists"
fi
for 循环 :
for i in $( ls ); do
echo item: $i
done
while 循环 :
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done
用 echo 命令获取字符串变量的一部分
echo ${variable:x:y}
x - 起始位置
y - 长度
使用 awk 列出 UID 小于 100 的用户
awk -F: '$3<100' /etc/passwd
获取变量长度
${#variable}
打印变量的最后 5 个字符
echo ${variable: -5}
用 echo 命令替换字符串的一部分
echo ${variable//pattern/replacement}
列出第二个字母是 a 或 b 的文件
ls -d ?[ab]*
去除字符串中的所有空格
echo $string|tr -d " "
./script argument
显示文件名称脚本
./show.sh file1.txt
cat show.sh
echo $1
在脚本中使用参数
第一个参数 : $1,第二个参数 : $2
脚本会复制文件(arg1) 到目标地址(arg2)
./copy.sh file1.txt /tmp/
cat copy.sh
cp $1 $2
计算传递进来的参数
$#
在脚本中获取脚本名称
$0
检查之前的命令是否运行成功
$?
获取一个文件每一行的第三个元素
awk '{print $3}'
假如文件中每行第一个元素是 FIND,如何获取第二个元素
awk '{ if ($1 == "FIND") print $2}'
连接两个字符串
V1="Hello"
V2="World"
V3=${V1}${V2}
echo $V3
两个整数相加
V1=1
V2=2
let V3=$V1+$V2
echo $V3
A=5
B=6
echo $(($A+$B)) # 方法 2
echo $[$A+$B] # 方法 3
expr $A + $B # 方法 4
echo $A+$B | bc # 方法 5
检查文件系统中是否存在某个文件?
if [ -f /var/log/messages ]
then
echo "File exists"
fi
for 循环 :
for i in $( ls ); do
echo item: $i
done
while 循环 :
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
done
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done
用 echo 命令获取字符串变量的一部分
echo ${variable:x:y}
x - 起始位置
y - 长度
使用 awk 列出 UID 小于 100 的用户
awk -F: '$3<100' /etc/passwd
获取变量长度
${#variable}
打印变量的最后 5 个字符
echo ${variable: -5}
用 echo 命令替换字符串的一部分
echo ${variable//pattern/replacement}
列出第二个字母是 a 或 b 的文件
ls -d ?[ab]*
去除字符串中的所有空格
echo $string|tr -d " "