gpt4 book ai didi

linux - 脚本将命令输出重定向到最后一个文件名参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:38 24 4
gpt4 key购买 nike

文件名:树(可执行)

#!/bin/bash
for i in $*
do
if [ -d $i ]; then

echo "===================$i================" >> ?????
tree -L 1 $i >> ?????
fi
done

如你所见,我想列出我输入的参数的树结构,我想让所有的树结构重定向到最后一个文件(它的id是$#),它是“????? “在这个脚本中,因为我不知道怎么写。

例如:

./Tree ./* README

是的,所有目录树结构都会写在README中!

最佳答案

如果您的输出文件是第一个参数而不是最后一个,那么这样做会更容易/更简单。

那只需要

output=$1
shift

添加到脚本的顶部。

使用最后一个参数实际上并不难,它只是涉及更多“高级”变量用法:

#!/bin/bash
output="${@: -1}"

for i in "${@:0:${#@}}"
do
if [ -d "$i" ]; then

echo "===================$i================" >> "$output"
tree -L 1 "$i" >> "$output"
fi
done

其中 "${@: -1}" 是参数数组中的最后一个元素,"${@:0:${#@}}" 是从 0${#@} 的参数($@ 的长度,即脚本的参数计数)。

关于linux - 脚本将命令输出重定向到最后一个文件名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266176/

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