W moim skrypcie basha muszę zmienić bieżący katalog na katalog domowy użytkownika.Zmień katalog skryptów na homedir użytkownika w skrypcie powłoki
jeśli chcę zmienić na użytkownika foo domu dir, z wiersza poleceń można zrobić:
cd ~foo
Które działa dobrze, jednak kiedy zrobić to samo z skryptu mówi mi :
./bar.sh: line 4: cd: ~foo: No such file or directory
Szwy jak to byłoby takie trywialne, ale to nie działa. Jaki jest problem? Czy muszę uciec od "~" lub być może brakujących cytatów lub czegoś innego?
Edit
kiedy mówię użytkownik nie mam na myśli aktualny użytkownika, który uruchamia skrypt, ale w ogóle żadnego inne użytkownik w systemie
Edit
Oto skrypt:
#!/bin/bash
user="foo"
cd ~$user
jeśli nazwa użytkownika jest sztywno jak
cd ~foo
to działa, ale jeśli jest w zmiennej użytkownika będzie to nie. Czego tu mi brakuje?
Czy chcesz mieć katalog domowy dla użytkownika foo, czy katalog foo w katalogu domowym użytkownika? –
Chcę katalogu domowego użytkownika foo –
Jak wygląda twój shebang? –