如何将通配符参数传递给bash文件

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

我试图编写一个bash脚本,允许用户使用通配符传递目录路径。

例如,

bash show_files.sh *

在此目录下执行时

drw-r--r--  2 root root  4.0K Sep 18 11:33 dir_a
-rw-r--r--  1 root root   223 Sep 18 11:33 file_b.txt
-rw-rw-r--  1 root root   106 Oct 18 15:48 file_c.sql

结果:

dir_a
file_b.txt
file_c.sql

它现在的方式是:

dir_a

show_files.sh:

#!/bin/bash

dirs="$1"

for dir in $dirs
do
    echo $dir
done
爱存霞爱存霞提问于
隨心之所願冒泡算法工程师。回答于

引用外卡的话:

bash show_files.sh '*'

或者让脚本接受一个参数列表,而不仅仅是一个:

for dir in "$@"
do
    echo "$dir"
done

最好直接迭代"$@'而不是将其赋值给另一个变量,以保持其特殊的能力来保存本身包含空格的元素。

回答过的其他问题

腾讯云时序数据库 CTSDB VS 传统时序数据库?

隨心之所願冒泡算法工程师。
传统时序数据解决方案存在大量问题 1. MySQL等关系型数据库: 写入吞吐低:单机写入吞吐低,很难满足时序数据千万级的写入压力; 存储成本大:对于时序数据压缩不佳,需占用大量机器资源; 维护成本高:单机系统,需要在上层人工的分库分表,维护成本高; 查询性能差:适用于交易处理,...... 展开详请

MySQL数据库应如何备份与恢复?

隨心之所願冒泡算法工程师。
备份方案 ①mysqldump+binlog: 完全备份,通过备份二进制日志实现增量备份 ②lvm2快照+binlog:几乎热备,物理备份 ③xtrabackup: 对InnoDB:热备,支持完全备份和增量备份;对MyISAM:温备,只支持完全备份 须知 备份某一个数据库和备份...... 展开详请

如何在腾讯云上运用python?

隨心之所願冒泡算法工程师。
推荐
Python在云计算方面有很大的优势,与c++一起在腾讯云有诸多应用。 在公有云中使用 Python 的诸多优势: 与 Linux 系统天然贴合,系统编程 API 与 glibcc 保持一致,以前的工具箱仍然适用。 是能够运行的伪代码,开发效率得到极大提升。 容易与 C/C++交...... 展开详请

人工智能在生活中的应用都有哪些?

隨心之所願冒泡算法工程师。
比如听说过的:机器人家庭保姆,会写小说的电脑,机器人足球大赛,一个会做饭的机器人,会动手术的仿生手,会下象棋的电脑…… 大的方面来说有:火箭发射,太空探测,国防装备 小的方面来说有:手臂机器人,汽车喷漆,无人驾驶汽车,看病诊断,天气预测,欺诈检测,人脸识别,机器人足球赛,人工智能...... 展开详请

如何实现基于用户画像大数据的电商防刷架构?

隨心之所願冒泡算法工程师。

提高虚假账号登录门槛,从而减少能够到达活动环节的虚假账号量。比如,登录环节通过验证码、短信验证码等手段来降低自动机的登录效率,从而达到减少虚假账号登录量、减轻活动现场安全压力的目的。

辽宁身份证可以在海南省办理备案吗?

隨心之所願冒泡算法工程师。

关于作者

所属标签

扫码关注云+社区