Wpis z mikrobloga

Tak na pierwszy rzut oka podwójny [[ zamiast [ bo ten ostatni nie ogarnia pustych stringów i inaczej się zachowuje? Odpal skrypt tak bash -x skrypt.sh i popatrz co Ci drukuje.
Co jest nie tak?


@bgrzegorz: Tak, jak włączysz debug skryptu i spojrzysz na wywołanie

+ '[' -z dupa ']'

+ check

+ '[' -n -a -d ']'


Na start to $1 wewnątrz funkcji to pierwszy argument funkcji a nie skryptu. Jak chcesz przekazać argument do funckji to funkcję musisz wywołac z argumentem np:

if (check "$1") then dir=$1


Lub w skrypcie przypisać argumenty do zmiennych

dir=$1

function check(){


a potem w