Como fazer o check-in de um script bash se o argumento passado for um arquivo ou diretório?

5

Eu tenho que escrever um script bash simples no Ubuntu que me permita passar alguns argumentos e eu quero verificar se esses argumentos que podem conter espaços são arquivos ou diretórios. Como posso fazer isso?

    
por user234607 04.03.2014 / 09:16

1 resposta

6

Exemplo de script:

#!/bin/bash
# This is a simple demo script
# It takes 3 parameters and checks if they are files or directories

echo "Welcome to my script"

if [[ -f "" || -d "" ]]
then
    echo "The First argument is a file or directory"
fi

if [[ -f "" || -d "" ]]
then
    echo "The second argument is a file or directory"
fi

if [[ -f "" || -d "" ]]
then
    echo "The third argument is a file or directory"
fi

echo "Bye!"

Cenário de exemplo

Eu salvei o script como ~/script.sh e fiz chmod +x script.sh

karimov-danil@Karimov-Danil:~$ ./script.sh "Шаб лоны" "Обще доступные" "ta lk" 
Welcome to my script
The First argument is a file or directory
The second argument is a file or directory
The third argument is a file or directory
Bye!

Nota: você deve passar argumentos dentro de aspas duplas.

    
por Danatela 04.03.2014 / 09:44

Tags