小编Col*_*ack的帖子

我如何能够在 shell 脚本中使用 $14 访问第 14 个位置参数?

我正在阅读 Unix 中的位置参数,然后我找到了这个信息:

shell 允许一个命令行包含至少 128 个参数;然而,shell 程序仅限于在给定时间仅引用 9 个位置参数,即 $1 到 $9。您可以使用 shift 命令解决此限制。

所以我创建了一个简单的 shell 脚本file,如下所示:

#! /bin/bash
echo $14
Run Code Online (Sandbox Code Playgroud)

然后像下面这样运行它:

./file 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

我得到了 14 个!

那么,如果 shell 在不使用shift命令的情况下不允许超过 10 个参数(从 $0 到 $9),那怎么可能呢?

shell-script

42
推荐指数
1
解决办法
3919
查看次数

使用带有反斜杠 (\) 的 echo -e

我正在阅读 Unix 中的 echo 命令,但我在 -e 选项中对反斜杠 ( \) 转义字符感到困惑,我运行了以下两个示例:

echo "hello\\\\world"
Run Code Online (Sandbox Code Playgroud)

输出: hello\\world

现在使用 -e 运行相同的命令:

echo -e "hello\\\\world"
Run Code Online (Sandbox Code Playgroud)

输出: hello\world

那么带和不带-e选项的反斜杠字符的含义是什么?

问候

shell bash echo

6
推荐指数
1
解决办法
1299
查看次数

标签 统计

bash ×1

echo ×1

shell ×1

shell-script ×1