加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 正确使用$@

发布时间:2020-12-16 01:53:11 所属栏目:安全 来源:网络整理
导读:我试图编写一个小脚本,接受任意数量的命令行参数,打印出文件(不是目录)的rwx权限 我拥有的是什么 file=$@ if [ -f $file ] ; then ls -l $file fi 但是,它只接受一个命令行参数.谢谢你的帮助. 解决方法 以下是$*和$@之间的一些差异的演示,包括和不带引号: #
我试图编写一个小脚本,接受任意数量的命令行参数,打印出文件(不是目录)的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..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读