Инициирование нулевых побайтовых чтений на FIFO/имуществе

В ударе некоторые переменные резервируются, такие как 0$, который дает название команды - в этом экземпляре, это - название сценария (следовательно ./shell.txt). Другим примером является $$, который даст идентификатор процесса. Я полагаю, что $FUNCNAME должен распечатать название используемой функции.

Любые переменные в формате, $1$ 2$ 3 и т.д. будет любыми позиционными параметрами, которые Вы передали ему.

Если бы Вы удалили переменную за 0$ и заменили ее $FUNCNAME, то Вы получили бы вывод, который Вы ищете.

Вот короткий сценарий, давайте сохраним его как passingVariables.sh (мы используем .sh, чтобы показать, что это - сценарий оболочки - чисто поверхностный, но он помогает сохранить вещи прямо):

#!/bin/bash
echo "The first word is $1 and the second word is $2"

Теперь, если я выполнил его как это:

./passingVariables.sh apple orange

Это выложило бы следующее:

"The first word is apple and the second word is orange"
2
03.04.2015, 13:47
2 ответа

Насколько я знаю, такое поведение уникально для терминальных устройств, так что это то, что вы должны использовать.

Используйте псевдо-тройку, ведомая сторона которой находится в режиме ICANON, и запишите Ctl-d ( '\4') на ведущей стороне.

2
27.01.2020, 22:05

Как насчет:

echo -n '' > /path/to/the/fifo

echo -n не дает новых линий и » - пустая строка. Так что это должно привести к нему (0 байта), написанное в ФИФО.

Вы можете сократить, что Echo вниз, чтобы буквально ничего не делать:

> /path/to/the/fifo

(если вы осторожны, чтобы не неправильно понять его как трубопровод какой-то другой выход)

[
1
27.01.2020, 22:05

Теги

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