9
votes

Test d'un script de coque Bash

Quelqu'un peut-il expliquer comment tester un script Bash Shell?

Par exemple, j'ai un fichier .sh avec ce code ... P>

#!/bin/sh

for file in *.txt; do
    mv "$file" "`basename $file .txt`.doc"
done


3 commentaires

Consultez ceci -> Stackoverflow.com/questions/1339416/testing-bash-scripts


Test de l'unité Scripts Bash. Joli. :)


C'est mieux: MV "$ fichier" "$ (brefName" $ ​​fichier ".txt) .doc" ou mv "$ fichier" "$ {fichier% *. Txt} .doc "


3 Réponses :


3
votes

J'ajouterais un Echo devant le MV pour vérifier que les bonnes commandes sont en cours de création, pour commencer. (Toujours une bonne idée des commandes qui rendent peut-être difficiles à annuler des changements.)

Certaines ressources utiles éventuellement:


2 commentaires

D'accord merci. Mais j'essaie de créer un fichier .sh qui testent que tout le code.


@MR dents: a ajouté des liens ci-dessus. Cela dit, les scripts shell sont un peu plus difficiles à tester un appareil efficacement parce que presque tout se résume à invoquer des commandes externes. Il est presque plus judicieux et utile de tester ces commandes et de tester le script lui-même en éduquant les modifications externes avec Echo , par conséquent.




10
votes

Essayez ceci: ASSERT.SH

source "./assert.sh"

local expected actual
expected="Hello"
actual="World!"
assert_eq "$expected" "$actual" "not equivalent!"
# => x Hello == World :: not equivalent! 


0 commentaires