Próbuję przypisać wyjście polecenia wycięcia do zmiennej, jednak mam dziwny problem. Używam powłoki tcsh.Przypisywanie danych wyjściowych polecenia do zmiennej powłoki
$echo $0
tcsh
To polecenie używam: (. Więc jest to nie plik byłem w pracy, ale zmniejsza problem do tego)
$set a=`cut -f2 -d' ' test.txt`
Missing }. //This is the output I am getting
Teraz plik jest naprawdę proste
Test.txt:
{ {corner
to wszystko! To jest plik. Jeśli zmienię plik do tego:
{ {corner}
komunikat działa, ale „a” otrzymuje następujące wartości:
$echo $a
corner //Please note its not {corner} but corner
Stąd myślę, że powłoka próbuje wykonać {corner
jako polecenie, a od jego brakuje narzekania na klamrę zamykającą. Czy ktoś ma jakiś pomysł, dlaczego pokazuje to zachowanie? Rozumiem, że powinien on po prostu przypisać wyjście cut do zmiennej, ale wygląda na to, że przypisuje to rekurencyjnie! Newbie
To nie będzie działać jako PO zamierza to zrobić. To po prostu przypisze "Brakujące" do a. – Ketan
Nie działa to! spróbuj echo "$ a", a nie echo $ a. Ale jestem zdezorientowany, dlaczego musimy to zrobić? – Richeek
Moja zła. Brakowało podwójnych cudzysłowów podczas powtarzania $ a. – Ketan