gpt4 book ai didi

bash - 正确使用 $@

转载 作者:行者123 更新时间:2023-11-29 09:16:32 25 4
gpt4 key购买 nike

我正在尝试编写一个小脚本,它接受任意数量的命令行参数,打印出文件(而非目录)的 rwx 权限

我有的是

file=$@    
if [ -f $file ] ; then
ls -l $file
fi

然而,这只接受一个命令行参数。感谢您的帮助。

最佳答案

这里演示了 $*$@ 之间的一些区别,带引号和不带引号:

#/bin/bash
for i in $*; do
echo "\$*: ..${i}.."
done; echo
for i in "$*"; do
echo "\"\$*\": ..${i}.."
done; echo
for i in $@; do
echo "\$@: ..${i}.."
done; echo
for i in "$@"; do
echo "\"\$@\": ..${i}.."
done; echo

运行它:

user@host$ ./paramtest abc "space here"
$*: ..abc..
$*: ..space..
$*: ..here..

"$*": ..abc space here..

$@: ..abc..
$@: ..space..
$@: ..here..

"$@": ..abc..
"$@": ..space here..

关于bash - 正确使用 $@,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1575183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com