如何从bash中的参数列表中删除第n个元素?
Shift只显示删除前n个,但我想保留第一个.我想要的东西:
#!/bin/sh
set -x
echo $@
shift (from position 2)
echo $@
Run Code Online (Sandbox Code Playgroud)
所以当我调用它时 - 它会从列表中删除"house":
my.sh 1 house 3
1 house 3
1 3
Run Code Online (Sandbox Code Playgroud)
set -- "${@:1:1}" "${@:3}"
Run Code Online (Sandbox Code Playgroud)
将删除第二个正面论点.
您可以使用变量使其成为通用的:
n=2 # This variable denotes the nth argument to be removed
set -- "${@:1:n-1}" "${@:n+1}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
949 次 |
| 最近记录: |