2010-10-19 2 views
0

У меня есть сценарий оболочки, написанный в bash, и этот скрипт должен взять файл в качестве аргумента, может ли кто-нибудь сказать мне, как писать скрипт для этого, любые идеи по этому поводу оцениваютсякак передать файл в качестве аргумента в файл сценария

Спасибо,

+0

возможно дубликат [помощь с Баш скрипт] (http://stackoverflow.com/questions/3955604/help-with-bash-script) –

ответ

0

Если вам необходимо работать с файлом, вы можете взять имя файла в качестве аргумента и просто использовать файл с указанным именем.

Если вам просто нужно прочитать содержимое файла, вы можете использовать переадресацию, чтобы иметь сценарий прочитать содержимое файла на стандарт. Вы можете сделать это с помощью ./script < inputfile

2

Вы можете получить доступ к командной строке аргументы, переданные вашему скрипту, используя positional parameters.

Также, чтобы проверить, было ли передано правильное количество аргументов скрипту, вы можете использовать переменную $#, которая содержит количество переданных аргументов.

if [ $# -eq 1 ]; then 
     # exactly 1 argument was passed..use it..its available in $1 
     echo "Argument $1" 
else 
     # either 0 or >1 arguments were passed...error out. 
     echo "Incorrect number of arguments passed" 
     exit 1    
fi 

Пример запуска:

$ bash a.sh 
Incorrect number of arguments passed 
$ bash a.sh foo 
Argument foo 
$ bash a.sh foo bar 
Incorrect number of arguments passed 
$ 
Смежные вопросы