Внутренний разделитель полей (сокращенно IFS) относится к переменной, которая определяет символ или символы, используемые для разделения шаблона на токены для некоторых операций. IFS обычно включает пробел, табуляцию и новую строку.
Показать мой текущий IFS:
echo -n "$IFS" |xxd
00000000: 2009 0a
Теперь я написал простой скрипт bash.
Весь код находится в моем ящике.
Когда я вставляю его в консоль:
В начале строки 2 до строки 5 это \t
; если я заменю его пробелом, его можно скопировать в консоль, и ничего не произойдет.
Таким образом, мы можем сделать вывод, что \t
приводит к этому действию. Интересно, если переменная $1
никогда не была назначена, как выполняется код при вставке в консоль?
Я несколько раз читал концепцию IFS
, но не могу найти объяснения.
Tab: tab-insert
в ваш ~/.inputrc. - person Roadowl   schedule 19.06.2020