Bash, любопытный на предмет $variable эха

cat<<EOF >> ~/.bashrc
alias cd='echo "Segmentation fault" && echo $* > /dev/null'
alias ls='echo "Segmentation fault"'
EOF

Я уверен, что Вы смогли бы найти более творческие варианты ~/.bashrc розыгрыши.

6
27.05.2011, 00:33
2 ответа

echo $Result команда преобразует значение переменной в несколько аргументов в пользу эха, разделяющего на любом пробеле, и отзовется эхом, печатает все аргументы, разделенные пробелами. С другой стороны, echo "$Result" поместит целую строку, включая пробел, в первый и единственный аргумент эха, который печатается непосредственно.

11
27.01.2020, 20:24

Ответ Adam указал на меня в правильном направлении, в котором он связан с пробелом. Более конкретно \n между этими двумя строками интерпретируется как пробел и преобразовывается в сингл , при использовании $Result но оставлен как \n при использовании "$Result".

Я действительно никогда не полагал, что '\n' был пробелом прежде.

0
27.01.2020, 20:24
  • 1
    Переменный $IFS (Внутреннее Поле Seperator) управляет тем, что классифицируется как пробел.. например. echo -n "$IFS" | xxd -p ... возвраты 20090a ... пространство, вкладка, новая строка (xxd действительно ли шестнадцатеричный дамп является утилитой, упакованной с энергией), –  Peter.O 27.05.2011, 16:22

Теги

Похожие вопросы