- Команда source в Bash
- Синтаксис команды source
- Примеры команды source
- Функции поиска
- Файл конфигурации Bash
- Выводы
- Команда Source в Bash
- Bash Source Command
- Команда source читает и выполняет команды из файла, указанного в качестве аргумента в текущей среде оболочки. Полезно загружать функции, переменные и файлы конфигурации в сценарии оболочки.
- Синтаксис исходной команды
- Примеры исходных команд
- Функции поиска
- Конфигурационный файл Bash
- Вывод
- source command in Linux with Examples
- Source Command in Linux
- Syntax for source command
- How to use source command
- 1. Refresh your current shell environment
- 2. Execute a shell script in the context of the current shell environment
- 3. Import a shell function
- 4. Read variables from a shell script
- 5. Read and execute commands
- 6. Pass arguments to functions
- Conclusion
- Команда source в Bash
- Синтаксис исходной команды
- Примеры команды source
- Функции поиска
- Конфигурационный файл Bash
- Заключение
Команда source в Bash
source команда считывает и выполняет команды из файла, указанного в качестве аргумента в текущей среде оболочки. Полезно загружать функции, переменные и файлы конфигурации в сценарии оболочки.
source — это оболочка, встроенная в Bash и другие популярные оболочки, используемые в операционных системах Linux и UNIX. Его поведение может немного отличаться от оболочки к оболочке.
Синтаксис команды source
Синтаксис source команды следующий:
- source и . (точка) — это та же команда.
- Если FILENAME не является полным путем к файлу, команда будет искать файл в каталогах, указанных в $PATH среды $PATH . Если файл не найден в $PATH , команда будет искать файл в текущем каталоге.
- Если заданы какие-либо ARGUMENTS , они станут позиционными параметрами для FILENAME .
- Если FILENAME существует, source выхода source команды равен 0 , в противном случае, если файл не найден, он вернет 1 .
Примеры команды source
В этом разделе мы рассмотрим несколько основных примеров использования source команды.
Функции поиска
Если у вас есть сценарии оболочки, использующие те же функции, вы можете извлечь их в отдельный файл, а затем указать этот файл в своих сценариях.
В этом примере мы создадим файл, который включает функцию bash, которая проверяет, является ли пользователь, запускающий скрипт, корневым, и если нет, он показывает сообщение и завершает скрипт.
Теперь в каждом скрипте, который должен запускаться только пользователем root, просто укажите файл functions.sh и вызовите функцию:
Если вы запустите приведенный выше сценарий как пользователь без полномочий root, он напечатает «Этот сценарий должен быть запущен от имени пользователя root» и завершится.
Преимущество этого подхода заключается в том, что ваши сценарии будут меньше и более читабельны, вы можете повторно использовать один и тот же файл функции, когда это необходимо, а в случае, если вам нужно изменить функцию, вы отредактируете только один файл.
Файл конфигурации Bash
С помощью source команды вы также можете читать переменные из файла. Переменные должны быть установлены с использованием синтаксиса Bash, VARIABLE=VALUE .
Создадим тестовый файл конфигурации:
В вашем сценарии bash используйте команду source для чтения файла конфигурации:
Если вы запустите сценарий, результат будет выглядеть так:
Выводы
В этом руководстве вы узнали, как использовать встроенную команду source в сценариях оболочки.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Команда Source в Bash
Bash Source Command
Команда source читает и выполняет команды из файла, указанного в качестве аргумента в текущей среде оболочки. Полезно загружать функции, переменные и файлы конфигурации в сценарии оболочки.
source это оболочка, встроенная в Bash и другие популярные оболочки, используемые в операционных системах Linux и UNIX. Его поведение может немного отличаться от оболочки к оболочке.
Синтаксис исходной команды
Синтаксис source команды следующий:
- source и . (точка) — это одна и та же команда.
- Если FILENAME путь к файлу не полный, команда выполнит поиск файла в каталогах, указанных в $PATH переменной среды . Если файл не найден в $PATH команде, будет выполнен поиск файла в текущем каталоге.
- Если ARGUMENTS они заданы, они станут позиционными параметрами для FILENAME .
- Если FILENAME существует source код завершения команды 0 , в противном случае, если файл не найден, он вернется 1 .
Примеры исходных команд
В этом разделе мы рассмотрим некоторые основные примеры использования source команды.
Функции поиска
Если у вас есть сценарии оболочки, использующие те же функции, вы можете извлечь их в отдельный файл, а затем получить этот файл в своих файлах.
В этом примере мы создадим файл, который включает в себя функцию bash, которая проверяет, является ли пользователь, выполняющий сценарий, пользователем root, и, если нет, показывает сообщение и завершает работу сценария.
Преимущество этого подхода состоит в том, что ваши скрипты будут меньше и более читабельными, вы можете повторно использовать один и тот же файл функций при необходимости, и в случае, если вам нужно изменить функцию, вы отредактируете только один файл.
Конфигурационный файл Bash
С помощью source команды вы также можете читать переменные из файла. Переменные должны быть установлены с использованием синтаксиса Bash VARIABLE=VALUE .
Давайте создадим тестовый файл конфигурации:
В вашем bash-скрипте используйте source команду для чтения файла конфигурации:
Если вы запустите скрипт, результат будет выглядеть так:
Вывод
Из этого руководства вы узнали, как использовать source встроенную команду в сценариях оболочки.
Источник
source command in Linux with Examples
source is a shell built-in command which is used to read and execute the content of a file(generally set of commands), passed as an argument in the current shell script. The command after taking the content of the specified files passes it to the TCL interpreter as a text script which then gets executed. If any arguments are supplied, they become the positional parameters when filename is executed. Otherwise, the positional parameters remain unchanged. The entries in $PATH are used to find the directory containing FILENAME, however if the file is not present in $PATH it will search the file in the current directory. The source command has no option and the argument is the file only.
Syntax:
Example 1: To pass gfg.txt as an argument which is stored in the home directory and contain list of command i.e. ls, date and time. Each command enlisted in the file will be executed line by line.
Example 2: To pass a path_name of a file as an argument where, /home/sc/sourcefolder/ is the file directory here. The content of the file is written below:
echo ” Hello, Welcome to Geeksforgeeks”
echo “current directory is:”
pwd
echo “Date is:”
date
Источник
Source Command in Linux
The source command is a built-in shell command used to read and execute commands from a file inside the current shell session. The source command is commonly used to retain/change the environment variable in the current shell. In short, sourcing a script will run execute commands in the current shell.
The source command is useful for:
- Refreshing your current shell environment
- To execute a shell script in the context of the current environment
- To import a shell function in your script
- Read variables from a shell script
Syntax for source command
The syntax for this builtin shell command is human readable. It takes a file and if arguments are provided they serve as positional parameters for the script being passed.
The . (dot) can also be used as an alternative for source command.
How to use source command
Here I explain some practical examples where you can apply source command.
1. Refresh your current shell environment
As a user you can define an alias in your current shell environment. To define one for ls -l type:
Although the above list the files in the current directory in the long format, it works only for the current shell session. To make the changes permanently, open the
/.bashrc file and add:
To refresh the current shell environment type:
2. Execute a shell script in the context of the current shell environment
A shell script is not aware of the variables you define as a user in your current shell environment. The source command can be used to execute your shell script in the context of the current session.
To define a temporary variable type:
To create a custom script type:
Save the file. To execute it in the context of the current shell session type:
The output is shown below.
3. Import a shell function
To define a custom shell script type:
Save the above as script.sh.
To import the function of the above script in your current shell session, type:
To use the foo function type:
The output is shown below.
4. Read variables from a shell script
To create a shell script with some variables, type:
To read the variables within another shell script type:
The output should be:
5. Read and execute commands
Source command can read and execute commands from a file. Lets have a text file with a set of commands.
For example file commands.txt has the following content:
The output of source :
6. Pass arguments to functions
This section describes how to pass the parameter to the function and same function we can re-use via source command.
Conclusion
Source command evaluvated script in the current shell whereas exec command runs in a new shell.
Through this article, you learned four practical examples of the source command. Although all of them are useful, the most important one for you as a user is the first one.
Источник
Команда source в Bash
source это оболочка, встроенная в Bash и другие популярные оболочки, используемые в операционных системах Linux и UNIX. Его поведение может немного отличаться от оболочки к оболочке.
Синтаксис исходной команды
Синтаксис команды source следующий:
- source и .(точка) – это одна и та же команда.
- Если FILENAME путь к файлу не полный, команда выполнит поиск файла в каталогах, указанных в переменной среды $PATH. Если файл не найден в команде $PATH, будет выполнен поиск файла в текущем каталоге.
- Если ARGUMENTS они заданы, они станут позиционными параметрами для FILENAME.
- Если FILENAME существует sourceкод завершения команды 0, в противном случае, если файл не найден, он вернется 1.
Примеры команды source
В этом разделе мы рассмотрим некоторые основные примеры использования команды source.
Функции поиска
Если у вас есть сценарии оболочки, использующие те же функции, вы можете извлечь их в отдельный файл, а затем получить этот файл в своих файлах.
В этом примере мы создадим файл, который включает в себя функцию bash, которая проверяет, является ли пользователь, выполняющий скрипт, пользователем root, и, если нет, показывает сообщение и завершает работу скрипта.
Теперь в каждом из ваших сценариев, которые должны запускаться только пользователем root, просто создайте файл functions.sh и вызовите функцию:
Если вы запустите приведенный выше сценарий как пользователь без полномочий root, он напечатает «Этот сценарий должен быть запущен от имени пользователя root» и завершится.
Преимущество этого подхода состоит в том, что ваши скрипты будут меньше и более читабельны, вы можете повторно использовать один и тот же файл функций при необходимости, и если вам нужно изменить функцию, вы отредактируете только один файл.
Конфигурационный файл Bash
С помощью команды source вы также можете читать переменные из файла. Переменные должны быть установлены с использованием синтаксиса VARIABLE=VALUE в Bash.
Давайте создадим тестовый файл конфигурации:
В вашем bash-скрипте используйте команду source для чтения файла конфигурации:
Если вы запустите скрипт, результат будет выглядеть так:
Заключение
Из этой статьи вы узнали, как использовать sourceвстроенную команду в сценариях оболочки.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник