Как соединить переменную со строкой в Bash?

#linux #bash

#linux #bash

Вопрос:

Я пишу скрипт bash, я использовал 1 переменную в своем файле bash, как показано ниже

 list=`/home/ea/students'
  

Я написал ссылку ниже в своем bash, но я получил ошибку

 cat $list /admin.txt
  

Вы знаете, как я могу соединить переменную и строку вместе?

Комментарии:

1. Для начала, вы используете два разных стиля кавычек в определении списка, которые, как правило, означают очень разные вещи.

2. Для дальнейшего использования, включение сообщения об ошибке в ваш пост более полезно для тех, кто пытается помочь, чем «У меня ошибка».

Ответ №1:

Во-первых, вам нужно использовать одинарные кавычки (« ' ) вокруг строк, а не обратные кавычки («‘)

 list='/home/ea/students'
  

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

 list=${list}/admin.txt
  

ДЕМОНСТРАЦИЯ:

 echo $list
/home/ea/students/admin.txt
  

Ответ №2:

Попробуйте это:

 list='/home/ea/students'
...
cat "${list}/admin.txt"
  

Ответ №3:

Вы можете использовать либо:

 cat "$list/admin.txt"
  

В этом случае фигурные скобки ‘{}’ не являются обязательными
, поскольку / не является допустимым символом имени идентификатора.

… или, если вам нужна переменная, последние версии bash предоставляют более краткий способ добавления:

 bash-4.1$ list=/home/ea/students
bash-4.1$ list =/admin.txt
bash-4.1$ printf '%sn' "$list"
/home/ea/students/admin.txt