O ~./config
nessa linha deve ser ~/.config
Primeiro, meu ambiente de trabalho é o GNOME. Fiz um script para criar o arquivo de área de trabalho de um programa de início automático. No entanto, tenho erro.
Make Autostart Script
Name > nabi // I input nabi
./make_autostart_script: line 11: ~./config/autostart/nabi.desktop: No such file or directory
Descriptive Name >
E o código é
# !/bin/bash
# This script make autostart script
echo Make Autostart Script
# Name
echo -n "Name > "
read name
touch ~/.config/autostart/$name.desktop
echo "[Desktop Entry]" >> ~/.config/autostart/$name.desktop
echo "Name=$name" >> ~./config/autostart/$name.desktop
# Generic Name
echo -n "Descriptive Name > "
read generic_name
echo "GenericName=$generic_name" >> ~/.config/autostart/$name.desktop
# Comment
echo -n "Comment > "
read comment
echo "Comment=$comment" >> ~/.config/autostart/$name.desktop
# Exec
echo -n "Location of program > "
read exec
echo "Exec=$exec" >> ~/.config/autostart/$name.desktop
# Terminal
echo -n "Do you want to execute it in terminal?(Y/n) > "
read yn
if [$yn -eq y];then
echo "Terminal=true" >> ~/.config/autostart/$name.desktop
else
echo "Terminal=false">> ~/.config/autostart/$name.desktop
fi
# Type
echo "Type=Application" >> ~/.config/autostart/$name/desktop
# Autostart
echo "X-GNOME-Autostart-enabled=true"
Como posso resolver o problema?
O ~./config
nessa linha deve ser ~/.config
Problema mostrado no contexto:
# Name
echo -n "Name > "
read name
touch ~/.config/autostart/$name.desktop
echo "[Desktop Entry]" >> ~/.config/autostart/$name.desktop
echo "Name=$name" >> ~./config/autostart/$name.desktop
deve ser:
# Name
echo -n "Name > "
read name
touch ~/.config/autostart/$name.desktop
echo "[Desktop Entry]" >> ~/.config/autostart/$name.desktop
echo "Name=$name" >> ~/.config/autostart/$name.desktop
com a mudança sendo (negrito para ênfase):
echo "Name=$name" >>
~ /. config/autostart/$name.desktop
que aponta para uma pasta chamada .config
, que está no seu diretório pessoal ( ~
para breve)
em vez de:
echo "Name=$name" >>
~ ./ config/autostart/$name.desktop
que aponta para um diretório inexistente chamado ~.
(a menos que você tivesse um usuário chamado .
, no qual ele apontaria para a pasta base de .
)
Como nota lateral também:
Parece que você encontrará um erro na seção # Type .
# Type
echo "Type=Application" >> ~/.config/autostart/$name/desktop
deve ser
# Type
echo "Type=Application" >> ~/.config/autostart/$name.desktop
se não me engano. (a diferença está substituindo $name/desktop
por $name.desktop
Quanto à linha 31:
if [$yn -eq y];then
deve ter pelo menos if [ $yn = y ]; then
mas provavelmente mais propriamente
if [ "$yn" = "y" ] || [ "$yn" = "Y" ];then
que cobriria se você digitar Y ou y. Anote que usar -eq
é para comparações numéricas e não funcionará nesse caso.
Espero que ajude! Codificação feliz.