-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
53 lines (48 loc) · 2.51 KB
/
install.sh
File metadata and controls
53 lines (48 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# Скрипт для установки file-manager (fm) в системный PATH для Linux/macOS
# Проверка наличия прав администратора
if [ "$(id -u)" != "0" ]; then
echo "Этот скрипт требует прав администратора для установки в системную директорию."
echo "Пожалуйста, запустите скрипт с sudo: sudo ./install.sh"
exit 1
fi
# Проверка операционной системы
if [[ "$OSTYPE" == "darwin"* ]]; then
# macOS
INSTALL_DIR="/usr/local/bin"
echo "Обнаружена macOS, установка в $INSTALL_DIR"
else
# Linux и другие системы
INSTALL_DIR="/usr/local/bin"
echo "Обнаружена Linux или другая UNIX-подобная система, установка в $INSTALL_DIR"
fi
# Проверка наличия исполняемого файла
if [[ "$OSTYPE" == "darwin"* ]]; then
# Для macOS компилируем отдельно
echo "Компиляция для macOS..."
go build -o fm cmd/filemanager/main.go
if [ ! -f "fm" ]; then
echo "Ошибка компиляции. Пожалуйста, убедитесь, что у вас установлен Go и проект настроен правильно."
exit 1
fi
else
# Для Linux компилируем отдельно
echo "Компиляция для Linux..."
go build -o fm cmd/filemanager/main.go
if [ ! -f "fm" ]; then
echo "Ошибка компиляции. Пожалуйста, убедитесь, что у вас установлен Go и проект настроен правильно."
exit 1
fi
fi
# Копирование исполняемого файла
cp -f fm "$INSTALL_DIR/"
chmod +x "$INSTALL_DIR/fm"
echo "Файл fm скопирован в $INSTALL_DIR и сделан исполняемым"
echo ""
echo "Установка завершена! Теперь вы можете использовать команду 'fm' из любой директории."
echo "Примеры использования:"
echo "fm ls # Показать содержимое текущей директории"
echo "fm help # Показать список доступных команд"
echo "fm mkdir test_dir # Создать директорию"
echo "fm touch test_file.txt # Создать файл"
echo ""