通过前几篇文章的学习,我们学会了shell的基本语法。在linux的实际操作中,我们经常看到命令会有很多参数,例如:ls -al 等等,那么这个参数是怎么处理的呢? 接下来我们就来看看shell脚本对于用户输入参数的处理。
新建test.sh
#!/bin/sh
echo "shell脚本名称: $0"
echo "传到shell的第一个参数: $1"
echo "传到shell的第二个参数: $2"
在命令行执行
chmod +x test.sh
./test.sh 4 5
和*
相同点
都是引用所有参数
不同点
和@ 都表示传递给函数或脚本的所有参数,不被双引号(” “)包含时,都以”2” … “$n” 的形式输出所有参数。
当它们被双引号(” “)包含时,”会将所有的参数作为一个整体,以1 n”的形式输出所有参数;”会将各个参数分开,以1″ “n” 的形式输出所有参数。 新建file.sh,写入以下内容:
#!/bin/bash
echo "-----------------"
for key in "$@"
do
echo '$@' $key
done
echo "-----------------------------"
for key2 in $*
do
echo '$*' $key2
done
1、带引号执行及结果:
[root@localhost ~]# bash file.sh linux "python c"
2、不带引号执行及结果:
[root@localhost ~]# bash file.sh linux python c
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !
.