如何创建脚本来定制 Ubuntu/Linux 的配​​置

如何创建脚本来定制 Ubuntu/Linux 的配​​置

现在我有多个指令需要通过人工分别添加(启动终端、复制粘贴指令、将指令插入文本文件),所以我认为必须有一种方法将所有这些命令打包到单个文本文件中并运行一次。

例如我需要做2个配置:

第一种配置

  1. 使用以下代码创建文件:

    sudo nano /usr/local/bin/loadFlysoftPOS
    
  2. 将以下文本复制到上述文本文件中:

    #/bin/bash until pids=$(pidof mysqld)
    do  
    sleep 1
    done
    cd ~/Dokumente/dist/
    java -jar POSv2.jar > log.txt
    
  3. 使其可由当前用户运行

    sudo chmod +x /usr/local/bin/loadFlysoftPOS
    

第二种配置

  1. 创建文件:

    sudo nano /etc/udev/rules.d/10-local.rules
    
  2. 将文本插入文件:

    SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"
    

那么,是否可以将所有这些指令存储到一个脚本中并运行一次?同样重要的是覆盖任何现有文件,因此如果已经存在一个名为 /etc/udev/rules.d/10-local.rules 的文件,则应清除其内容并由新脚本提供的内容覆盖。

谢谢大家的启发!

答案1

nano是一个交互式文本编辑器 - 恕我直言,它对于以编程方式创建文件内容没有帮助。

对于你的第一个案例,我建议使用这里的文件

cat << \EOF > /usr/local/bin/loadFlysoftPOS
#!/bin/bash 

until $(pidof mysqld)
do  
  sleep 1
done
cd $HOME/Dokumente/dist/ && java -jar POSv2.jar > log.txt
EOF

chmod +x /usr/local/bin/loadFlysoftPOS

对于第二种情况,echo可以简单这样做:

echo 'SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"' > /etc/udev/rules.d/10-local.rules

把整个东西放在一个有其自己的文件中:

文件:myscript.sh

#!/bin/sh

cat << \EOF > /usr/local/bin/loadFlysoftPOS
#!/bin/bash 

until $(pidof mysqld)
do  
  sleep 1
done
cd $HOME/Dokumente/dist/ && java -jar POSv2.jar > log.txt
EOF

chmod +x /usr/local/bin/loadFlysoftPOS

echo 'SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"' > /etc/udev/rules.d/10-local.rules

制作可执行文件,然后运行它sudo

chmod +x myscript.sh
sudo ./myscript.sh

相关内容