相关疑难解决方法(0)

访问bash命令行args $ @ vs $*

在许多SO问题和bash教程中,我看到我可以通过两种方式访问​​bash脚本中的命令行参数:

$ ~ >cat testargs.sh 
#!/bin/bash

echo "you passed me" $*
echo "you passed me" $@
Run Code Online (Sandbox Code Playgroud)

结果如下:

$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Run Code Online (Sandbox Code Playgroud)

$*和之间有什么区别$@
应该何时使用前者,何时使用后者?

bash command-line-arguments

298
推荐指数
4
解决办法
18万
查看次数

何时在shell变量周围包装引号?

有人能告诉我是否应该在shell脚本中包含变量的引号?

例如,以下是正确的:

xdg-open $URL 
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)

要么

xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

unix linux bash shell quotes

145
推荐指数
4
解决办法
5万
查看次数

Bash脚本 - 如何填充数组?

假设我有这个目录结构:

DIRECTORY:

.........a

.........b

.........c

.........d
Run Code Online (Sandbox Code Playgroud)

我想要做的是:我想在数组中存储目录的元素

就像是 : array = ls /home/user/DIRECTORY

所以array[0]包含第一个文件的名称(即'a')

array[1] == 'b' 等等

感谢帮助

arrays bash ls

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

标签 统计

bash ×3

arrays ×1

command-line-arguments ×1

linux ×1

ls ×1

quotes ×1

shell ×1

unix ×1