Выполнить команду из файла в текущей оболочке [дубликат]

На этот вопрос уже есть ответ здесь:

Я хочу выполнить команду из файла (который является сценарием) в текущей оболочке в терминале.

Пример: у меня есть файл ch_dir , содержащий следующее:

#!/bin/bash
cd /usr

Теперь, если я выполняю файл обычно следующим образом, он выполняет команды в другой оболочке :

pandya@pandya-desktop:~$ ./ch_dir
pandya@pandya-desktop:~$

Здесь cd / user выполняется в другой оболочке.

Но я хочу выполнить в текущей оболочке. Как мне это сделать?

Примечание: Здесь cd используется только для объяснения. Задача вопроса - выполнить любую команду в текущей оболочке

8
задан 25 August 2014 в 07:15

2 ответа

Используйте встроенную команду source (от help -m source):

источник - Выполняет команды из файла в текущей оболочке.

Пример выполнения, упомянутого рассматриваемый:

pandya@pandya-desktop:~$ source ch_dir
pandya@pandya-desktop:/usr$ 

Здесь Вы видите cd /usr выполняется в текущей оболочке и следовательно каталоге текущей измененной оболочки!

Надежда это поможет выполнить ввод команд из файла в текущей оболочке.

15
ответ дан 16 November 2019 в 16:46

Просто выполните сценарий с . как это:

pandya@pandya-desktop:~$ . ./ch_dir
5
ответ дан 16 November 2019 в 16:46

Другие вопросы по тегам:

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