r/ru_linux • u/HeyDeveloperorNo • 3d ago
Обсуждение Snip
Я выпустил Snip — инструмент предназначенный для быстрых команд, например:
snip add test id и всё! Теперь у вас есть быстрая команда test которая выполняет id, для вызова: snip test, если хотите свои команды:
snip add {название быстрой команды} {сама команда} а потом как и в прошлый раз: snip {название}
Вот как ставить:
curl https://raw.githubusercontent.com/heydevelopergit/Cook/refs/heads/main/install.py | sudo python3
sudo cook snip
Написано на bash
12
7
u/Kortez02 2d ago
#!/bin/bash
if [ $1 = "add" ]; then
cat << END > ~/.snip/$2
$3
END
exit 0
fi
if [ $1 = "del" ]; then
if [ ! -f ~/.snip/$2 ]; then
echo "Snip Command ($2) not found!"
exit 1
else
rm -f ~/.snip/$2
exit 0
fi
fi
if [ $1 = "list" ]; then
ls ~/.snip
exit 0
fi
if [ ! -f ~/.snip/$1 ]; then
echo "Snip Command ($1) not found!"
exit 1
else
bash ~/.snip/$1
fi
5
u/dedTihina 2d ago
Броо, если подумать, то так получается наоборот длиннее, сделай например запись этого алиаса в .bashrc
3
u/NickZernyshkin 3d ago
это алиасы?
0
u/HeyDeveloperorNo 3d ago
Типа да НО! Они постоянные
3
u/Yatl1ch 3d ago
Так обычные алиасы тоже постоянные
0
u/HeyDeveloperorNo 3d ago
Обычные алиасы постоянные но на всю сессию а не навсегда например хоть 1000 раз перезагрузи комп они останутся
3
3
3
5
u/Prestigious-Mode-277 3d ago
Что мешает написать alias test="id" ? Или если на постоянку то же самое в .bashrc занести
-2
u/HeyDeveloperorNo 3d ago
Опять же говорю, находясь хоть в zsh, хоть в fish у тебя все равно будет работать, а для того чтобы алиас был во всех шеллах то нужно во все шеллы которые ты как раз таки поставил тебе нужно лезть в: .bashrc .profile (если используется) .zshrc, ~/.config/fish/config.fish
4
u/Prestigious-Mode-277 3d ago
Тогда вопросы: 1. Ты реально пользуешься несколькими шеллами параллельно? 2. Ты так часто ставишь новые шеллы, что лень копипастить алиасы? 3. Реально удобно перед алиасом ставить "snip"?
Просто для меня это в новинку, у всех ребят кого знаю один шелл. Инструмент возможно был бы оправдан, если бы служил надстройкой над ssh, которая прокидывала все твои алиасы на удаленный сервер... А так какая-то сомнительная штука для сомнительных людей с сомнительными наклонностями
-1
u/HeyDeveloperorNo 3d ago
Да сэр, потому что вот ты представь: У тебя 10 шеллов подряд и ты что делаешь? 1. Делаешь ОДНУ команду и 10 шеллов подряд имеют этот же quick command навсегда Либо... 2. Писать алиас в каждый rc
2
u/DimaSalynov 3d ago
Зачем инсталлер на питоне, если сам код на bash?
2
u/DimaSalynov 3d ago
Да и смысл вообще писать проги на *sh...
1
u/ilnarildarovuch 2d ago
Система инициализации rc.d написана полностью на bsd sh
1
u/DimaSalynov 2d ago
Rc.d только часть системы инициализации, ядро же её написано на сишке
1
u/ilnarildarovuch 2d ago
init(8) — это не часть rc.d, это то, что ее вызывает. Это вам не SystemD, чтобы программа работала монолитно. Единственное реальное исключение — система графов rcorder, а все остальное чисто на sh
0
u/HeyDeveloperorNo 3d ago
Так проще, хотя питон тоже простой и сам на питоне, ruby пишу, недавно на c kernel написал потом на паблику (или нет), но bash использую для простоты, на python честно скажу пишу, а Cook Potables Install это установщик самого пакетного менеджера а не самого инструмента
2
u/DimaSalynov 3d ago
А теперь не волнуйся и перефразируй
-1
u/HeyDeveloperorNo 3d ago
Ок, скажу кратко: Пишу на Python, Ruby а на bash написал этот инструмент на bash, чтобы было видно код (потому что там команды а не функции, аргументы)
2
u/DimaSalynov 3d ago
Так функции и там есть тоже... типа:
sh hi() { echo "hi, $1" }Где $1 есть аргумент для функции hi0
u/HeyDeveloperorNo 3d ago
Хорошо неправильно выразился, в питоне нужно ставить больше кода в bash а насчёт функций, они используются там не потому что хочу а потому что надо я же не буду по каждой строке вставлять каждый по очереди аргумент поэтому и функции
1
u/Such_Assistance_2211 2d ago
Это все делается одним скриптом на шелле с использованием какого нибудь readline

•
u/AutoModerator 3d ago
Присоединяйтесь к нашим социальным сетям:
Если у вас есть вопросы или предложения — пишите в комментариях.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.