Рейтинг:0

Ссылка на все пути в одном скрипте Linux — например, в заголовочном файле для лучшей переносимости.

флаг br

Новичок в сценариях оболочки здесь.

Пожалуйста, потерпите меня.

Linux 3.0.101-108.87-по умолчанию x86_64

У меня есть Script1.sh который ссылается на папки. Я пытаюсь включить все эти пути в скрипт в один заголовок.sh а затем ссылаться на заголовок.sh в Script1.sh

я делаю это прямо сейчас

Script1.sh
 
setenv СКРИПТ /../сайт/СКРИПТЫ
setenv TOP /../сайт/TOP
setenv SUB1 /../сайт/../.../SUB1
setenv SUB2 /../сайт/../.../SUB2
setenv SUB3 /../сайт/../.../SUB3
setenv SUB4 /../сайт/../.../SUB4
setenv SUB5 /../сайт/../.../SUB5

Вместо этого я хочу сделать что-то вроде этого

Script1.sh 

включить headerscript.sh

и headerscript.sh будет выглядеть примерно так

заголовок.sh

setenv СКРИПТ /../сайт/СКРИПТЫ
setenv TOP /../сайт/TOP
setenv SUB1 /../сайт/../.../SUB1
setenv SUB2 /../сайт/../.../SUB2
setenv SUB3 /../сайт/../.../SUB3
setenv SUB4 /../сайт/../.../SUB4
setenv SUB5 /../сайт/../.../SUB5

Это позволяет мне сделать скрипт модульным, просто включив заголовок.sh в другом скрипте и легче отлаживать.

Что я должен делать?

Я не хочу включать это в .alias

Displayname avatar
флаг br
Обновлено - спасибо за исправление
guiverc avatar
флаг cn
Вы не упомянули свою ОС и выпуск, однако, учитывая, что самым старым *поддерживаемым* ядром для систем по теме здесь в настоящее время является 4.15, ваша система выглядит очень старой (3.0 была из системы на основе 2011 года, десятилетней давности), поэтому я надеюсь, что ваш система не в сети.
флаг vn
Вы имеете в виду [включить один файл из другого] (https://stackoverflow.com/a/192305/4970442)?
Рейтинг:1
флаг pl

Чтобы «включить» один скрипт из другого, вы должны использовать . (точечный оператор) или источник (в зависимости от вашей оболочки).

Итак, вы бы использовали в Script1.sh

. заголовок.sh

Использованная литература:

https://unix.stackexchange.com/questions/309768/source-vs-почему-различное поведение

https://stackoverflow.com/questions/20094271/using-dot-or-source-while-calling-another-script-what-is-the-difference

https://ss64.com/bash/source.html#:~:text=source%20is%20a%20synonym%20for, available%20after%20%20script%20completes.

Displayname avatar
флаг br
Скрипт работает как задумано. Спасибо большое :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.