Я делаю это в сценарии:
read direc <<< $(basename `pwd`)
и я добираюсь:
Syntax error: redirection unexpected
в машине человечности
/bin/bash --version
GNU bash, version 4.0.33(1)-release (x86_64-pc-linux-gnu)
в то время как я не получаю эту ошибку в другой машине SuSe:
/bin/bash --version
GNU bash, version 3.2.39(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
Почему ошибка?
Ссылается ли ваш скрипт на /bin/bash
или /bin/sh
в своей строке hash bang? Системной оболочкой по умолчанию в Ubuntu является dash, а не bash, поэтому если у вас есть #!/bin/sh
, то ваш скрипт будет использовать другую оболочку, чем вы ожидаете. В Dash нет оператора перенаправления <<<
.
сделать это проще,
direc=$(basename `pwd`)
Или использовать оболочку
$ direc=${PWD##*/}