Shell - 传递给脚本的参数个数和参数列表

1、参数

$0:  脚本名称,shell本身的文件名

$#:  参数个数,不包括程序本身

$n:  当前脚本的第n个参数($1, $2,....$n-1)

$*:  当前脚本的所有参数

$?:  上一次执行命令后的状态码,0为执行成功,非0是执行失败

$$:  shell本身的PID,即脚本运行的当前进程ID号

$UID: 当前用户的ID

2、例子

#!/bin/bash

#打印脚本名称
echo "script name is $0"
#传进来的参数列表
Arguments="$*"
COUNT=1
for arg in $Arguments; do
	echo -e "\033[32marg$COUNT = $arg\033[0m"
	let COUNT++
done

#参数个数
NUM="$#"
echo "Totol number of arguments: $NUM"
COUNT=1
while [ $COUNT -le $NUM ]
do
	echo -e "\033[33mParam$COUNT is ${!COUNT}\033[0m"
	let COUNT++
done

${!COUNT}是bash的变量间接引用,用于获取位置参数的值

 $ ./compare.sh apple egg boy girl
script name is ./compare.sh
arg1 = apple
arg2 = egg
arg3 = boy
arg4 = girl

Totol number of arguments: 4
Param1 is apple
Param2 is egg
Param3 is boy
Param4 is girl

补充一个vim字符替换:

:【范围】s/查找的字符串/替换的字符串/[标志]

范围:.表示当前行 %表示全文

标注:g是全局替换,c表示确认每次替换

例子:

:%s/cat/dog/g       ->全文中替换所有的cat为dog

:3s/cat/dog/g        ->只替换第3行的cat为dog

:%s/cat/dog/gc     ->确认每次替换

:wq                        ->保存退出

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值