0

假设用户传递了 5 个参数($1 $2 $3 $4 $5),我如何切断前两个参数($1 $2),我只想要最后 3 个参数

awk '{print $3,$4,$5} < $@' 如果我不知道传递了多少个参数但我不想要前两个参数怎么办

我不能使用 shift,因为我还需要 2 美元的信息,那我该怎么办?

我在 bash 脚本中的 tar 文件时遇到了这个问题,当用户可能使用正则表达式时*.txt,shell 会自动将其转换为file1.txt file2.txt(假设只有两个.txt文件)

4

1 回答 1

1

有一个语法:

#!/bin/bash

# note: indexing starts at 0

# 0: script name
# 1: arg 1
# 2: arg 2

# this will skip the script name, arg1 and arg2
echo "${@:3}"
于 2021-10-06T19:47:23.670 回答