所以我试图限制某些东西的输出到终端的高度,例如:
template <typename NodeType, typename EdgeType>
class SparseGraph<NodeType, EdgeType>::const_iterator
{
private:
using NodeIterator = typename SparseGraph<NodeType, EdgeType>::AdjacencyList::const_iterator;
using EdgeIterator = typename SparseGraph<NodeType, EdgeType>::AdjacencyList::const_iterator;
const_iterator(NodeIterator node_it, EdgeIterator edge_it, NodeIterator adjacent_begin, NodeIterator adjacent_end) : m_node_it{node_it}, m_edge_it{edge_it}, m_adjacent_begin{adjacent_begin}, m_adjacent_end{adjacent_end} {}
const NodeIterator m_adjacent_begin;
const NodeIterator m_adjacent_end;
NodeIterator m_node_it;
EdgeIterator m_edge_it;
const_iterator& operator++(int)
{
//are we at the end of this edge list?
if(m_edge_it == m_node_it->end()) {
//move to the next node's edge list.
m_node_it++;
//are we past the last node's edge list?
if(m_node_it == m_adjacent_end) {
//loop back around to the beginning
m_node_it = m_adjacent_begin;
}
m_edge_it = m_node_it.begin();
}
else {
m_edge_it++;
}
return *this;
}
}
现在,如果我在终端中写它,这是有效的。但由于某些原因,如果我尝试从脚本运行它,我会收到错误我会收到错误行数无效如果我使用&#34; $ LINES&#34; 如果我只使用 $ LINES ,则strong>或选项需要参数n 。
所以我想我的问题是,有没有办法在脚本中使用$ LINES或类似内容。
感谢您的帮助。
编辑:当我在脚本中使用它时,$ LINES不会保存任何内容
答案 0 :(得分:1)
第一行脚本写:
LINES=$(tput lines)
瞧。