Как проверить в bash-скрипте, передан ли аргумент для файла или каталога?

Мне нужно написать простой сценарий bash в Ubuntu, который позволил бы мне передать ему некоторые аргументы, и я хочу проверить, являются ли эти аргументы, которые могут содержать пробелы, файлами или каталогами. Как я могу это сделать?

5
задан 4 March 2014 в 12:16

1 ответ

Сценарий в качестве примера:

#!/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 "$1" || -d "$1" ]]
then
    echo "The First argument is a file or directory"
fi

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

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

echo "Bye!"

сценарий

В качестве примера я сохранил сценарий как ~/script.sh и сделал 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!

Примечание: необходимо передать аргументы в двойных кавычках.

0
ответ дан 4 March 2014 в 12:16

Другие вопросы по тегам:

Похожие вопросы: