/ / rozdiel medzi spustením skriptu pomocou bash file.sh a ./file.sh - bash, unix

rozdiel medzi vykonávajúci skript pomocou bash file.sh a./file.sh - bash, unix

Niekedy mám ťažkosti so spustením ./file.sh, ale môžem spustiť príkaz bash file.sh. Aký je rozdiel medzi týmito dvoma príkazmi? Vykonáva ./file.sh nejakú inú implementáciu sh?

odpovede:

3 pre odpoveď č. 1

Ak "file.sh" nie je spustiteľný, potom ./file.sh nebude fungovať, ale bash file.sh vôle.

Ak "file.sh" nezačína riadkom #!/bin/bash (alebo iná cesta k platnému tlmočníkovi bash) ./file.sh nebude fungovať, ale bash file.sh vôle.

V podstate, aby skript mohol vyzerať ako spustiteľný súbor, musí:

  1. Majú vykonať povolenie.
  2. Začnite s čiarou #!/path/to/interpreter.