A bash szkript forráskódjának kinyomtatása a

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

  • a forráskódot láthatja a 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 a cpp C nyelvnek.
  • Hogyan " nyomtat " of main.sh?

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.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük