Рейтинг:1

Как изменить командную строку с помощью сценария bash?

флаг do

Моя версия Ubuntu — Ubuntu 21.04. Я пытаюсь изменить свою командную строку с помощью скрипта, который я сделал, под названием запись.sh. Вот код:

#!/бин/баш  

echo -n "Вы записываете? да(1)/нет(0)"  
читать VAR  

если [ $VAR -eq 1 ]; тогда  
       PS1="\[\033[38;5;2m\]Опасный картофель@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;4m \]\w\[$(tput sgr0)\]: \[$(tput sgr0)\]"  
еще  
       PS1="\[\033[38;5;2m\]\u@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;4m\ ]\w\[$(tput sgr0)\]: \[$(tput sgr0)\]"  
фи

Я ожидаю, что моя командная строка изменится с:

стерлинг@Зверь~:

к

Опасный-картофель@Зверь~:

когда я запускаю приведенный выше скрипт, но вместо этого он остается прежним.

флаг ar
Когда вы изменяете переменную в файле bash, она изменяется только на время действия файла bash. Это не имеет никакого эффекта после запуска файла.
Sterling Russell avatar
флаг do
есть ли способ запустить его, пока терминал не закроется?
флаг hr
Чтобы вступить в силу в родительской интерактивной оболочке, вам нужно *использовать* файл, а не запускать его.
Sterling Russell avatar
флаг do
как это сделать?
флаг ar
@steeldriver вот ответ! добавьте к сценарию bash префикс `source`. Я видел, как раньше использовался `source`, теперь мне ясно, что он делает.
Рейтинг:0
флаг do

Я получил файл и ввел bash в файл, чтобы выполнить его при открытии терминала. Я получил его в конце .bashrc файл:

. /home/sterling/recording.sh
флаг ar
Вам не нужно помещать его в файл `.bashrc`, если вы не хотите запускать его каждый раз, когда открываете терминал. Вы можете запустить его, когда захотите, в любом терминале, набрав `. ./recording.sh`. Обратите внимание на две точки, разделенные пробелом перед `/`. В качестве альтернативы вы можете ввести `source ./recording.sh`.

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

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