- shell shift 学习笔记 (shift是bash的一个内部命令,用于将传递的参数变量想左移)
语法格式:shift n
n表示参数向左移的位数 - 给脚本传参数
创建一个shell脚本,起名为shift5Param.sh,输入如下内容
#!/bin/bash
function printPara
{
local PARA=$1
##函数功能打印获取的参数
echo "${PARA}"
[ $? -ne 0 ] && echo "Exec echo failed" && return 1
return 0
}
function testshift
{
local PARA=$1
while [ -n "$1" ]
do
##打印特殊变量$1的直,及特殊变量$#的直
echo "Current Parameter: $1, Remaining $#."
##将$1的直传给其他函数或作其他操作
printPara ${PARA}
[ $? -ne 0 ] && echo "Exec printPara ${PARA}." && return 1
##将位置参数左移5位
shift 5
##如果执行失败,则退出循环
if [ $? -ne 0 ];then
##终止循环
break
fi
done
return 0
}
##接收脚本传来的参数
testshift $1 $2 $3 $4 $5 $6 $7
$ sh -n shift5Param.sh
$ ./shift5Param.sh one two three four five six seven
Current Parameter: one, Remaining 7.
one
Current Parameter: six, Remaining 2.
one
[lwl@localhost testShell]$
解释说明:
-n 选项用于测试脚本是否有语法错误,执行此命令没有任何输出
one two three four five six seven 是传给脚本的参数