я пытаюсь вывести PATH, используемый компьютером, в простой текстовый файл.
Что-то вроде echo PATH> PATH.TXT или >> PATH.TXT
С двойным >> он работает, но выводит каждое на другой строке, и если я использую одиночный, конечно, он перезаписывает предыдущую строку с помощью следующий. Использование% ~ dpo> PATH.TXT или% ~ fo >> PATH.TXT, или даже% ~ nx0 >> PATH.TXT не дает мне желаемого результата. Проще говоря, я хочу поместить PATH в текстовый файл для резервного копирования с использованием BATCH-файла, если я сделаю что-то глупое, например HELP PATH, которое полностью изменит PATH.
Заранее благодарим за любую помощь.
Вы изменяете Ваш PATH
с командой:
PATH=/new-path:$PATH
Например, вот то, как правильно развернуть ПУТЬ:
$ PATH=/newpath:$PATH
$ echo $PATH
/newpath:/home/rick/bin:/home/rick/.local/bin:/mnt/e/bin:/mnt/e/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
Вот всего один способ повредить Ваш ПУТЬ (путем исключения $
префикс):
$ PATH=/brokenpath:PATH
$ echo $PATH
/brokenpath:PATH
Если Вы обычно портите свой ПУТЬ, можно просто закрыть терминал и вновь открыть его.
Исключение $
ошибка, сделанная в Вашем вопросе также. Метод для получения ПУТИ к текстовому файлу:
echo $PATH > PATH.TXT
Для хранения синхронного журнала изменений ПУТИ, можно использовать:
echo $PATH >> PATH.TXT
ПУТЬ является переменной окружения. Для установки переменной, мы используем "ПУТЬ =", но ссылаться это - содержание, мы должны использовать "$PATH".
Переменная ПУТИ может быть установлена во многих местах, как обрисовано в общих чертах в этом Вопросы и ответы: Где мой ПУТЬ является переменным быть установленным?. Для обнаружения, какие файлы устанавливают ПУТЬ, который один из ответов рекомендует использовать:
grep --color -H 'PATH=' ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile \
/etc/profile.d/* /etc/environment 2> /dev/null
На моей машине возвраты команды:
/home/rick/.profile:PATH="$HOME/bin:$HOME/.local/bin:$PATH"
/etc/profile.d/apps-bin-path.sh: export PATH=$PATH:${snap_bin_path}
/etc/profile.d/jdk.sh:export PATH=$PATH:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
/etc/environment:PATH="/mnt/e/bin:/mnt/e/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Можно распечатать ПУТЬ к текстовому файлу со следующим кодом:
echo $PATH >> PATH.txt
Если Вы хотите петлять, чтобы сделать это, несомненно, добавят хижину к вершине:
#!/bin/bash
echo $PATH >> PATH.txt