LINUX的bash如何给shell脚本传参数
|
《LINUX的bash如何给shell脚本传参数》要点: bash命令后边可以跟任意的参数,具体要如何操作? 执行“vi test.sh”创建一个新的shell脚本。 脚本test.sh的内容如下: #!/bin/sh
name=$1
echo "the ${name} !"给新建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。执行可以看到结果. 如果想判断参数为空则中止执行,可以 if [ "$1" = "" ]; then echo -e "请提供参数." exit 1 fi 或: if [ $# == 0 ];then echo "没有带参数"; else echo "带了$#个参数" fi 或: if [ "$1" ];then echo "带参数"; else echo "没有带参数 " fi 上面的代码其实和使用if结构的-z参数是一样的,都是用于检测字符串是符不空值。因此也可以换成使用-z参数来判断。示例代码如下 : if [ -z "$1" ];then echo "没有带参数"; else echo "带参数" fi 详解: "name=$1"中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。 linux系统除了提供位置参数还提供内置参数,内置参数如下: $# ----传递给程序的总的参数数目 $? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。 $* ----传递给程序的所有参数组成的字符串。 $n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称 $@----以"参数1" "参数2" ... 形式保存所有参数 $$ ----本程序的(进程ID号)PID $! ----上一个命令的PID (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – GCC处理不同优化级别的浮点数比较
- 为什么没有适用于Linux的DirectX API?
- supervisord – 无法使用supervisorctl’reload’
- linux – 如何阅读oom-killer系统日志消息?
- linux – 在debian 7上安装libssl0.9.8
- linux – sudo apt-get update在Ubuntu 17.04上失
- linux – 查找抛出路径必须在脚本中的表达式之前
- linux – 运行lsof -i在CLOSE_WAIT中显示了很多连
- LINUX实操:functions文件详细分析和说明
- linux – 如何设置OpenSSH每用户身份验证方法?
