1. 首页 > 其他

shell传入参数拼接? shell脚本输入参数

shell传入参数拼接?shell脚本输入参数

如何给shell脚本传参数

执行“nano test.sh”创建一个新的shell脚本。

>02

脚本test.sh的内容如下:

#!/bin/sh

name=$1

echo "the ${name} are great man!"

>03

给新创建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。

>04

执行'./test.sh "xiao wang"'命令,可以看到自己编写脚本的结果“the xiao wang are great man!”。

>05

"name=$1"中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。

>06

linux系统除了提供位置参数还提供内置参数,内置参数如下: 

$# ----传递给程序的总的参数数目  

  $? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。   

$* ----传递给程序的所有参数组成的字符串。   

$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ...   $0 ----当前程序的名称   

$@----以"参数1" "参数2" ... 形式保存所有参数   

$$ ----本程序的(进程ID号)PID   

$! ----上一个命令的PID

怎么写一个shell脚本传入参数

很简单,写个循环

if [ $# -eq 0 ] ##判断参数是否存在

then

exit ##不存在退出

else

for a in $* ##存在话,取参数放入a中循环

do

b=`echo $a|tr [a-z] [A-Z]` ###将a改成大写

echo "CC"$b ##拼接成功CCA

done

fi

shell字符串拼接

字符串最好放到双引号中,防止中间有空格,如name中就可能存在空格。

改为:

total="${name}""${email}""${other}"

或者 total="$name""$email""$other"

shell脚本中这个for循环中的i和参数var怎么拼接

变量标识符还能带变量?

这样写吧

FTILE_NAME=。。。。。

echo¥FTILE_NAME$i