|
1
157
这有点像黑客:
这一个也是非常可移植的(同样,应该可以与bash、ksh和sh一起使用),并且它不会改变参数,这可能很好。
它使用的事实是
|
|
|
2
262
这只是bash:
|
|
|
3
74
空间是必要的,这样它就不会被解释为 default value . |
|
|
4
71
对于bash 3.0或更高版本,最简单的答案是
就是这样。
输出为:
|
|
|
5
27
使用与以下长度组合的索引:
|
|
|
6
24
以下内容适用于您。@用于参数数组。意味着$是参数数组的长度。所以结果是最后一个元素:
例子:
|
|
|
7
21
当试图将最后一个参数与前一个参数分开时发现了这个问题。 虽然有些答案确实得到了最后一个论点,但如果您需要所有其他参数,它们也没有多大帮助。这样做效果更好:
|
|
|
8
18
这适用于所有与posix兼容的shell:
来源: http://www.faqs.org/faqs/unix-faq/faq/part2/section-12.html |
|
|
9
8
如果使用bash>=3.0
|
|
|
10
8
这是我的解决方案:
代码:
|
|
|
11
3
对于ksh、zsh和bash:
至于“倒数第二名”:
解决任何以破折号开头的论点的问题(例如
以及正确处理空间和全局字符的方法
或者,如果要设置
至于“倒数第二名”:
|
|
12
2
这将按参数数目减1来移动参数,并返回第一个(也是唯一一个)剩余参数,这将是最后一个。 我只在bash中测试过,但它也应该在sh和ksh中工作。 |
|
13
2
如果您想以非破坏性的方式进行,一种方法是将所有参数传递给一个函数并返回最后一个参数:
如果你不是真的 照顾 关于保留其他参数,您在函数中不需要它,但是我很难想到这样一种情况,即除非已经处理了其他参数,否则您将永远不希望保留这些参数,在这种情况下,我将使用process/shift/process/shift/。顺序处理它们的方法。
我假设你想留下他们是因为你
没有
采用顺序法。此方法还处理没有参数的情况,返回“”。您可以通过插入注释掉的
|
|
14
2
对于TCSH:
我很肯定这将是一个可移植的解决方案,除了任务。 |
|
|
15
1
使用的解决方案
|
|
|
16
1
在阅读了上面的答案之后,我编写了一个q&d shell脚本(应该在sh和bash上工作),在pgm.cpp上运行g++来生成可执行映像pgm。它假定命令行上的最后一个参数是文件名(.cpp是可选的),而所有其他参数都是选项。
|
|
|
17
1
将设置以下内容
如果不再需要其他参数,可以将其简化为:
出于可移植性原因,以下内容:
可替换为:
替代也
|
|
|
18
1
现在我只需要添加一些文本,因为我的答案太短,无法发布。我需要添加更多的文本来编辑。 |
|
|
19
1
我发现@agilezebra的回答(加上@starfray的评论)最有用,但它设置了
|
|
20
1
这是我的复制功能的一部分:
要在脚本中使用,请执行以下操作:
解释(最嵌套的第一个):
自2015年年中起与Bash合作。 |
|
|
21
1
为了
|
|
|
22
0
|
|
|
23
0
尝试下面的脚本查找最后一个参数
输出:
谢谢。 |
|
|
24
0
有一种更简洁的方法可以做到这一点。bash脚本的参数可以放入一个数组中,这使得处理元素更加简单。下面的脚本将始终打印传递给脚本的最后一个参数。
样本输出
|
|
|
25
0
使用参数扩展(删除匹配的开始):
也很容易在最后一次之前得到所有:
|
|
|
26
-1
这种格式可以在Slackware和Cygwin中使用。 “$x[@]:(-1)”,如果与$@一起使用,“$@:(-1)” 意思是:$@:(n),将返回n个索引后的所有元素(包括n)。 1是最后一名。 |
|
|
DarkLite1 · 在提升模式下使用多个命名参数调用脚本 7 年前 |
|
|
Micolho · execute或字符串%s传递的查询参数之间的差异 7 年前 |
|
|
Rohit Kumar · 扩展类时构造函数出错 7 年前 |
|
|
user9489003 · ruby中proc的参数 7 年前 |
|
O.rka · 使用参数[重复]创建bash函数时出现语法错误 7 年前 |