Вы не можете этого сделать.
Файл - это просто поток байтов, хранящихся (на HDD / memory). Вы читаете эти байты и интерпретируете их так, как хотите. В случае csv-файла вы читаете одну строку и разделяете ее на основе разделителя.
Концепция чтения происходит только от ОС. Где вы помечаете файл как прочитанный только для того, чтобы пользователи без надлежащего разрешения не редактировали файл.
При написании программы вы открываете файл в режиме только для чтения, используя опцию r
, это всего лишь способ сообщить, что вы не собираетесь писать что-либо в файл, а fwrite
не должно быть разрешено (throw исключение) в этом потоке.
То, что вы просите, состоит в том, чтобы сделать определенные байты файлов только для чтения, в то время как другие должны быть доступны для редактирования. ОС или файловый поток не имеют никакого различия между ними.
Получил его, должен был выйти из цветов правильно.
Зафиксируйте:
PS1='\u:\W$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
Могу я предложить следующий метод для цветов в Bash, он делает код более читаемым и намного сложнее пропустить один или два выхода.
Поместите следующее в свой ~ / .bashrc
BLACK=$(tput setaf 0)
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
LIME_YELLOW=$(tput setaf 190)
YELLOW=$(tput setaf 3)
POWDER_BLUE=$(tput setaf 153)
BLUE=$(tput setaf 4)
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
WHITE=$(tput setaf 7)
BRIGHT=$(tput bold)
NORMAL=$(tput sgr0)
BLINK=$(tput blink)
REVERSE=$(tput smso)
UNDERLINE=$(tput smul)
Примером PS1 (или всего, что выводится на экран) будет:
PS1="\[${WHITE}\](\[${YELLOW}\]\u@\h\[${WHITE}\])\[${NORMAL}\]$ "
Вам нужно только поместить \ [\] вокруг слов цвета.
Если у вас 256-цветной терминал, вы можно поэкспериментировать с другими числовыми значениями до "tput setaf" вплоть до 255.