【发布时间】:2018-03-21 04:01:36
【问题描述】:
我正在尝试创建一个与 ls 命令的前 12 个参数相呼应的脚本。我们应该使用内置在 shell 中的“shift”语法来做到这一点,但是我很难理解 shift 命令是如何工作的(是的,我查了一下,试过了,但无法弄清楚)。如果有人能指出如何使用 shift 命令来实现这一目标的正确方向,将不胜感激。我发布了到目前为止我尝试过的内容(公平警告,如果您尝试自己运行它,它会无限循环)
#!/bin/sh
args=a A b c C d e E f F g h H
while [ $# -lt 12 ]
do
echo ls -$#
count=`expr $# + 1`
shift
done
【问题讨论】:
-
tldp 不是学习 shell 的好地方。我听说它有很多不准确之处,因此最好避免它。