Shell 如何在当前路径中查找所有可用的“source\u me”?

Shell 如何在当前路径中查找所有可用的“source\u me”?,shell,tcsh,Shell,Tcsh,假设我有一个类似于/src/system/subsystem/subsubsystem的路径,system、subsystem和subsubsubsystem中的每一个都有一个名为source\u me的文件。如何为当前环境中的每个源代码创建脚本 示例使用 在我的第一个回答中,我不理解你的问题,我希望这次我理解了: #!/bin/tcsh foreach f (`pwd | awk -F'/' '{ for (i = 2; i <= NF; i++) print path = path"/

假设我有一个类似于
/src/system/subsystem/subsubsystem
的路径,
system
subsystem
subsubsubsystem
中的每一个都有一个名为
source\u me
的文件。如何为当前环境中的每个源代码创建脚本

示例使用
在我的第一个回答中,我不理解你的问题,我希望这次我理解了:

#!/bin/tcsh
foreach f (`pwd | awk -F'/' '{ for (i = 2; i <= NF; i++) print path = path"/"$i }'`)

    echo "> Sourcing $f..."

    if (-e $f/source_me) then
        source $f/source_me
    else
        echo "no such file"
    endif
end
#/垃圾箱/垃圾箱

foreach f(`pwd | awk-f'/''{for(i=2;i)您可以
cd..
直到到达根目录,然后使用目录堆栈(
$dirstack[]
)返回。在此之前,您可能需要使用
dirs-c
清除堆栈。不幸的是,我得到
[1]:echo$SHELL/bin/tcsh[2]:cat~/bin/source#u all#!/usr/bin/env tcsh#-*-模式:sh-*-…[3]:source\u all for:Command-not-found.do:Command-not-found.f:Undefined变量。
可能是因为您使用的是
tcsh
。在脚本的第一行添加
#!/bin/bash
。这个问题被标记为
tcsh
…我能从tcsh使用bash脚本吗?(我必须使用后者工作。)非常抱歉…我没有看到标签…我将尝试编辑我的答案,但我无法测试它。很公平:)我确信这个答案适用于bash,所以它绝对有用!
#!/bin/tcsh
foreach f (`pwd | awk -F'/' '{ for (i = 2; i <= NF; i++) print path = path"/"$i }'`)

    echo "> Sourcing $f..."

    if (-e $f/source_me) then
        source $f/source_me
    else
        echo "no such file"
    endif
end