【问题标题】:Use tab completion in bash script在 bash 脚本中使用制表符完成
【发布时间】:2021-05-30 20:00:23
【问题描述】:

我有几个目录,例如1-aaa/ 2-bbb/ 3-cde/。每个号码只有一个目录,所以echo "test" > 1<TAB>/test 很简单。我想做

for i in 1 2 3
do
    echo "test" > $i-(what to put here?)/test
done

我该怎么办?谢谢。

【问题讨论】:

  • 星号? *Filename Expansion
  • 我是否正确假设您知道目录以 1、2、3 开头但您不知道其余的目录名称?
  • 请不要将解决方案放在问题本身中。相反,发布答案。 (是的,你可以answer your own question。):)

标签: bash glob


【解决方案1】:

带有星号的解决方案,如 cmets 中提出的@banderlog013,不能直接工作。

我确信可以找到一些解决方法来使用星号解决方案,但是您可以使用一些额外的步骤来查找目录:

#!/bin/bash

for i in 1 2 3
do
    dir_name=$( find . -type d -name "$i-*" )
    echo "test" > $dir_name/test
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2010-10-06
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多