Van-e mód arra, hogy megtekintse / megmutassa / kinyomtassa a bash szkript forráskódját a benne lévő fájlokkal (más néven: “források”) “)?
Például:
sub.sh fájl
function showMe(){ echo "INCLUDE" }
main.sh fájl
#!/bin/bash source sub.sh showMe echo "OK"
A main.sh “nyomtatása” megjelenik:
#!/bin/bash showMe(){ echo "INCLUDE" } showMe echo "OK"
Megjegyzések
Válasz
Megpróbálhatja követni a következőt: awk
:
awk "/^source/ { while (getline l <$2 > 0) print l; close($2); next; } { print; }" main.sh
ezért minden sort, amely source fname
-vel kezdődik, a fájl, ha létezik.
Válasz
perl -p0e "while(s/source\s+(\S+)/`cat $1`/e){}" foo.sh
Megjegyzések
- Remekül működik .. de ' nem tudom használni a perl-t, egyébként köszönöm.
- put
echo "source foo.sh for the rescue"
itt:foo.sh
és kapsz egy végtelen hurkot 🙂 - @EvgenyVereshchagin, nagyon kegyetlen vagy! 🙂
Válasz
Ha nem törődik a szkript végrehajtásával, itt egy egyszerű meg kell jeleníteni a forráskódot és annak tartalmát:
bash -v foo.sh
Megjegyzések
- Ez a parancs a szkript, csak a forrásra van szükségem, köszönöm.
more/less/cat
, futási időben használhatja az -x flaget (pl.set -x
). Nincs ilyen varázslat, amely statikusan kinyomtatja a nyomtatott forráskódot és a mellékelt fájlt. Nincs megfelelője acpp
C nyelvnek.