Довольно плохо знаком с bash-скриптингом. Попытка переопределить команду ls -la, чтобы быть: ls -la | Больше
(Кажется более полезным для меня).
Я добавил это в конец моего .bashrc
.
154 # alias 'ls -la'='ls -la | more'
155 # this did not work because aliases
156 # are not allowed to have spaces in
157 # them. => have to make function:
158 ls() {
159 if [[ $@ == "-la" ]];
160 then
161 echo "test";
162 command ls -la | more;
163 else
164 command ls "$@";
165 fi;
166 }
Но я получаю эту ошибку при открытии нового терминала:
bash: /users/me/.bashrc: line 158: syntax error near unexpected token `('
bash: /users/me/.bashrc: line 158: `ls() {'
Когда я добавляю function
перед ls() {
нет жалоб, но нет изменений в поведении ls. Благодарю.
Обновить
Пытаясь сузить проблему, я сделал это:
159 ls() {
160 #if [[ $@ == "-la" ]];
161 # then
162 echo "test"
163 # command ls -la | grep vim;
164 #else
165 # command ls "$@";
166 #fi;
167 }
но я все еще получаю ту же ошибку. Я думаю, что основная проблема может быть в том, что она находится в файле bashrc?
Обновить
Странно это работает
159 function ls() {
160 #if [[ $@ == "-la" ]];
161 # then
162 echo "test"
163 # command ls -la | grep vim;
164 #else
165 # command ls "$@";
166 #fi;
167 }