передать параметр для сценария оболочки, но почему есть два значения?
287
richard20427176
У меня есть некоторые проблемы с сценарием оболочки, пожалуйста, помогите мне, спасибо.
Я создаю файл сценария оболочки с именем «deploy.sh», и каждый раз, когда я вызываю этот сценарий с параметром, выглядит как «20180208», «20180214» (формат даты yyyyMMdd) ... и т. Д.
# sh deploy.sh 20180208
Содержание для оболочки, как показано ниже (я написал несколько строк для тестирования, но я столкнулся с проблемой):
#! / Bin / ш # ОПРЕДЕЛИТЬ UPLOAD_DATE = $ 1 # ВЫХОД SH_LOG = / дом / jin.huang / журналы / execsh.log Развертывание () { Эхо $ 1 echo $ UPLOAD_DATE } Развертывание >> $ SH_LOG
Итак, я передал 20180208 в deploy.sh, но получил два результата за 1 доллар:
Эхо $ 1
эхо "$ 1"
они распечатываются на экране;
echo $ UPLOAD_DATE
echo "$ UPLOAD_DATE"
на экране они печатают «20180208».
почему два результата?
Если я правильно понял, скрипт `$ 1` - это не та же самая функция` $ 1`. Вы можете передавать параметры для функций внутри скрипта. `Deploy" $ 1 "` передаст скрипт `$ 1` в функцию.
Paulo 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
2
Установить переменные среды из оболочки bash
-
6
дайте мне знать альтернативную команду в DOS для следующей команды unix
-
7
перебирая результаты `ls` в скрипте bash
-
-
6
Запуск процесса Linux в фоновом режиме
-
3
Как запустить скрипт bash из Finder в OS X?
-
4
Как реализовать изменчивый «профиль пользователя»
-
2
Как я могу взять вывод сценария оболочки и поместить его в файл в командной строке?
-
6
Лучший способ поиска строки в файле?
-
10
Пакетное преобразование PNG в JPG в Linux
-
2
Как найти все программные ссылки (символические ссылки) в текущем каталоге?