2014-01-08 3 views
1

Нужна помощь по сценариям оболочки unix. Поскольку я новичок в этом.Запрос сценария Unix Shell на sed

У меня есть сценарий оболочки, написанный. При запуске этого сценария дается аргумент как 003. Мне нужно заменить это значение аргумента в определенной строке в сценариях оболочки, как показано ниже.

Сценарий:

if [[ $# != 1 ]] 

then 

     echo "Please enter the Value" 
     echo "eg: script.sh 003" 
     exit 0; 
fi 

Q=WMS.XXX.vinoth 

Мне нужно заменить XXX значение с 003 и добавить в временный файл. Не могли бы вы мне помочь???

Заранее благодарен!

ответ

3

Вы спрашиваете, как заменить XXX первым аргументом?

Q=WMS.$1.vinoth 
1

Использование $ 1 будет работать, однако следует помнить, что вы, вероятно, следует использовать кавычки при прохождении ряда как 003 вместо 3, как и в некоторых случаях два нуля перед может быть отброшены.

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

./script "003" 

if [[ $# != 1 ]] 

then 

     echo "Please enter the Value" 
     echo "eg: script.sh 003" 
     exit 0; 
fi 

Q="WMS.$1.vinoth"