Вызвать сценарий из сценария? Это глупость, это все равно что услышать: "Я хочу водить машину на машине, как это сделать? " Что такое сценарий? Сценарий - это текстовый файл ascii, для которого требуется, чтобы оболочка" интерпретировалась "или выполнялась. Он может содержать команды, но также loop (while, until) и другие конструкции, такие как if..else..fi или case..esac. Если вы имеете в виду «я хочу запустить скрипт», у вас есть два способа
bash /etc/init.d/"script I want to run"
или
/etc/init.d/"script I want to run"
ВНИМАНИЕ! Запуск некоторых сценариев от имени пользователя root без знания того, что такое сценарий , может повредить вашу систему. Перед запуском сценария прочтите его содержимое с помощью
less /etc/init.d/myscript
Используя функцию declare , вы можете сделать так, чтобы ваши переменные читались только -. При использовании в функции declare делает переменную локальной.
Синтаксис для declare следующий:
declare arg VARIABLE=value
Чтобы переменная читалась только -, вы используете аргумент-r :
declare -r num=12
Больше можно найти здесь:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_10_01.html
Не уверен, что это именно то, что вы ищете, но я думаю, что это почти то же самое, что вы собираетесь получить с помощью BASH
Is there a way (like a set flag at the top of the script) to make all variables readonly and/or local -r by default?
Нет, если вы не включили редактирование источника в bash
.
Однако вы можете объявить псевдоним, чтобы уменьшить семантический сахар, необходимый для установки переменной только для чтения -.
Например,
#!/bin/bash
#
shopt -s expand_aliases
alias lr='local -r'
demo() {
lr a=123
echo "$a"
((a++)) # Correctly fails with "a: readonly variable"
}
demo