вызов сценария оболочки с помощью переменной

Файловая система подкачки содержит некоторую информацию заголовка, см. https://askubuntu.com/a/846172/141639- поэтому, если вы хотите подкачку 5 ГБ, вы должны выделить 4 КБ (одна страница размер) больше.

1
04.04.2017, 18:52
1 ответ

Ваша переменная $var не содержит значения, которое, как вы говорите, она должна содержать. Согласно вашему вопросу, она должна содержать следующее:

. /lapp2/Scripts/mdm.ksh

Но отладочное значение из echo "var is '$var'" показывает, что $var на самом деле содержит:

/etlapp2/$1/mdm/Scripts/mdmxftpg.pl /etlapp2/$1/mdm/Scripts/mdmxftpg.aimtlane

Здесь есть две проблемы. Очевидно, что фактическое значение не совпадает с ожидаемым. Но более тонко, обратите внимание, что $var содержит литерал $1 в части пути вместо интерполяции первого аргумента командной строки. Я подозреваю, что вы использовали одинарные кавычки вместо двойных в какой-то момент при присвоении $var.

Противопоставьте эти две альтернативы

  • a='apple'; var='/path/to/$a/script.sh'; echo "var=$var" # неправильно
  • a='apple'; var="/path/to/$a/script.sh"; echo "var=$var" # правильно

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

0
28.01.2020, 00:58

Теги

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