Как изменить имя хоста в GNUroot debian?

Некоторые идеи:
1.- Вместо многократного вызова cut в каждой строке, воспользуйтесь преимуществами read.
Список переменных cut на ' ' таков:

projectName 1
filepath 2
numbers 3
lang 9
cloneID 10
cloneSubID 11
minToken 12
stride 13
similarity 14

Это можно было бы сделать непосредственно с помощью read вот так:

while read -r projectName filepath numbers a a a a a lang cloneID cloneSubID minToken stride similarity;

более длинная строка, но меньшее время обработки. Переменная a просто заполняет пространство неиспользуемых значений.

2.- Повторная обработка номеров переменных для деления на ':' может быть выполнена следующим образом (ваш вопрос относится к bash):

IFS=':' read -r a linestart length <<<"$numbers"

Что сводит код к:

while read -r projectName filepath numbers a a a a a lang cloneID cloneSubID minToken stride similarity;
do
    IFS=':' read -r a linestart length <<<"$numbers"

    currentLine=$linestart
    endLine=$((linestart + length))

    while [ $currentLine -lt $endLine ]; do
        echo "$projectName, $filepath, $lang, $linestart, $currentLine, $cloneID, $cloneSubID, $minToken, $stride, $similarity"
        currentLine=$((currentLine + 1))
    done
done < $filename >>$outputfile

3.- Что касается второго скрипта, то в нем нет описания того, что такое переменные sub1 и/или sub2.

4.- В общем, если бы вы могли разбить один скрипт на серию более мелких скриптов, то вы могли бы засечь время каждого из них, чтобы найти, где находится область, требующая много времени.

5.- И, как рекомендуют некоторые другие ответы, размещение файла (и всех промежуточных результатов) в разделе памяти ускорит работу при первом чтении файла. Последующие выполнения скрипта будут считываться из кэша в памяти, скрывая любое улучшение. Это руководство должно помочь.

0
07.05.2018, 10:15
1 ответ

во-первых, 127.0.0.1должно разрешиться в localhost, поэтому вы должны соответствующим образом скорректировать /etc/hosts. Во-вторых, в системах Debian обычно используется команда hostname, чтобы показать или установить имя хоста, например. hostname -b mcserver.

Для правильной настройки в /etc/hostsтакже было бы интересно, если бы ваше устройство всегда получало один и тот же IP-адрес в вашей сети Wi-Fi. Предполагая, что это так, и этот IP-адрес 192.168.0.5, я бы рекомендовал следующее для вашего/etc/hosts:

127.0.0.1     localhost
192.168.0.5   mchost mcserver

Если вы не уверены в IP, просто введите:

127.0.0.1     localhost
127.0.0.1     mchost mcserver

Но в этом случае «mcserver» может разрешаться только локально, так как этот адрес не может быть маршрутизирован.

0
28.01.2020, 04:23

Теги

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