date
принимает ввод со своим флагом -d
и печатает его. Однако ввод, отформатированный как ваш, обрабатывается как ММ / ДД / ГГГГ. Но это не должно быть слишком сложно.
Сначала давайте введем переменную:
read INPUT
Теперь нам нужно изменить ввод с ДД / ММ / ГГГГ на ММ / ДД / ГГГГ. Вы можете сделать это с помощью sed и awk (вы также можете сделать это с помощью awk
:
INPUT=`echo $INPUT | awk -F '/' '{t=$1;$1=$2;$2=t;gsub(" ", "/");print;}'`
Теперь, когда INPUT находится в правильном формате, скормите его до date
и заставьте его печатать только day:
date -d $INPUT +%A
Сложите все вместе:
#!/bin/bash
read INPUT
INPUT=`echo $INPUT | awk -F '/' '{t=$1;$1=$2;$2=t;gsub(" ", "/");print;}'`
date -d $INPUT +%A
Да, можно установить программное обеспечение в каталоги, отличные от /usr
.
Одним из примеров (системы -ширины )является /usr/local
. (Который все еще может не помочь вам напрямую, так как ваш /usr
доступен только для чтения -. )Каталог /usr/local
соответствует /usr
по своей структуре (имеет /bin
, /lib
и т. д. )В большинстве случаев он используется для различения пакетов, поставляемых как часть вашей базовой ОС. (, которые перейдут в/usr
)из тех, что установлены из исходников системным администратором (, которые перейдут в /usr/local
.)
Существует также /opt
, который предназначен для установки пакетов в отдельные -каталоги пакетов. Так, например, вы можете установить туда Perl 6 под /opt/perl6
, и это будет содержать только Perl и ничего больше. Вы должны хранить отдельные каталоги для отдельных пакетов, что обычно позволяет легко «удалить» пакет, просто удалив его каталог. Обычно вам нужно установить $PATH
соответствующим образом, чтобы получить доступ к установленным там программам, или создать символические ссылки в каком-либо другом каталоге bin
, который уже находится в $PATH
, чтобы получить к ним доступ. Управление /opt
обычно предназначено для администратора, и, учитывая, что вам нужно обновлять $PATH
для каждого устанавливаемого вами пакета, это может быть не лучшим вариантом...
Для установки программного обеспечения в каталог $HOME
одним из возможных подходов является создание в его верхней части подкаталога .local
и соответствие иерархии /usr
или /usr/local
.
Так что, может, попробуй так:
mkdir ~/.local
А затем используйте его как --prefix
при установке нового пакета. Например,если пакет использует сценарий конфигурации в стиле autoconf -, вы можете собрать и установить его, используя:
./configure --prefix="$HOME/.local"
make
make install
Вам нужно добавить ~/.local
к вашему $PATH
, чтобы иметь доступ к программам там. Так что сделайте это в своем~/.bashrc
:
PATH=$HOME/.local:$PATH
export PATH
Откройте новую оболочку (новый терминал или выйдите из системы и войдите снова ), чтобы изменения вступили в силу. Или просто запустите ту же команду в существующей оболочке. Теперь вы сможете выполнять программы из ~/.local/bin
напрямую.
Возможно, Endless OS
не является подходящим инструментом для достижения желаемого. Со страницы Endless OS Developer ,
Endless OS
Not your typical Linux distribution. We don’t use rpm, apt, or any other packaging system. We use a read-only root file system managed by OSTree with application bundles overlaid on top. We have a different target user. Most desktop Linux distributions are oriented towards tech-savvy users and developers. Simplicity is the key, so we carefully pick and choose the best applications available for our users. A number of core technologies underlie our OS, in particular the Linux kernel, OSTree, systemd, GNU, X, GNOME, and Xapian.