Shell 中的$参数

echo  $0   获取当前执行的shell脚本的文件名
echo  $n   获取当前执行的shell脚本的第n个参数值,n=1..9
echo  $*   获取当前shell的所有参数
echo  $#   获取当前shell命令行中参数的总个数
echo  $$   获取当前shell的进程号(PID)
echo  $!   执行上一个指令的PID
echo  $?   获取上一个指令的返回值
echo  $_   在此之前执行的命令或脚本的最后一个参数



批量修改文件名:

[root@cloud test]# cat a.log 
stu_10222_1_finished.jpg
stu_10222_2_finished.jpg
stu_10222_3_finished.jpg
stu_10222_4_finished.jpg
[root@cloud test]# 
[root@cloud test]# for i in `cat a.log`;do touch $i;done
[rootcloud test]# ls
a.log  stu_10222_1_finished.jpg  stu_10222_2_finished.jpg  stu_10222_3_finished.jpg  stu_10222_4_finished.jpg
[root@cloud test]# for f in `ls ./*.jpg`;do /bin/mv $f  `echo "${f%finished*}.jpg"`;done
[root@cloud test]# ls
a.log  stu_10222_1_.jpg  stu_10222_2_.jpg  stu_10222_3_.jpg  stu_10222_4_.jpg
comments powered by Disqus