Возможно ли предоставить более одной переменной, которая должна быть выполнена в первом приглашении? в первом приглашении я хотел бы предоставить 1 или 2 до 5 переменных, которые выполняют определенный скрипт в течение одного сеанса.
eg:
echo -n "Enter the script you want to launch and press [ENTER]
read script
echo "Hello, "$USER". This script will allow you to start $
echo "1. Claymore ZEC v12.6"
echo "2. Claymore ETH & SIA v10"
echo "3. Claymore ETH v10"
echo "4. XMRIG ETN v2.4.4 //etn-pool.proxpool"
echo "5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org"
echo "6. Quit"
echo -n "Enter the script you want to launch and press [ENT$
read script
case $script in
1)
echo "Starting to mine ZEC."
cd ~/Downloads/claymore.s.Zcash.v12.6/;
./mine.sh;
;;
2)
echo "Starting to mine ETH & SIA."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/;
./mine.sh;
;;
3)
echo "Starting to mine ETH."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/;
./mineETH.sh;
;;
4)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/;
sudo sysctl -w vm.nr_hugepages=128;
clear;
cat /proc/meminfo | grep Huge;
./mine.sh;
;;
5)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/;
sudo sysctl -w vm.nr_hugepages=128;
clear;
cat /proc/meminfo | grep Huge;
./mine_space.sh;
;;
6)
echo "Quit"
;;
esac
Я бросил один для вас на основе комментария, оставленного от @steeldriver. Это всего лишь сценарий командной строки, допускающий множественный ввод в командной строке. Он использует getopts для нескольких опций, а также добавляет в nohup command & для перемещения сценариев на задний план, чтобы следующий случай мог работать.
Для получения дополнительной помощи выполните поиск в Интернете для bash getopts. Есть так много, чтобы учиться там, и вы можете сделать невероятные сценарии, чтобы делать все, что хотите.
Сценарий:
#!/bin/bash
#Set name
NAME=$(basename $0)
#Set option choices
OPTS="h12345"
PUSAGE=""
#This is how to use the script
usage="
Hello, "$USER". This script will allow you to start the following.
You can run as many as you like starting with a `-`. Example below.
Usage: ${NAME} [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
${NAME} -135
"
#Run script
while getopts :${OPTS} i ; do
case $i in
1)
echo "Starting to mine ZEC."
cd ~/Downloads/claymore.s.Zcash.v12.6/
nohup ./mine.sh & 2>&1>/dev/null;;
2)
echo "Starting to mine ETH & SIA."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mine.sh & 2>&1>/dev/null;;
3)
echo "Starting to mine ETH."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mineETH.sh & 2>&1>/dev/null;;
4)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine.sh & 2>&1>/dev/null;;
5)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine_space.sh & 2>&1>/dev/null;;
h | \?) PUSAGE=1;;
esac
done
#Show help based on selection
if [ ${PUSAGE} ]; then
echo "${usage}"
exit 0
fi
#Check for input if none show help.
if [[ $1 == "" ]]; then
echo "${usage}"
exit 0
fi
Теперь, если вы запустите скрипт с ничем после или a -h для справки, появляется следующее. Я назвал свой скрипт askhelp.bsh как пример.
~$ ./askhelp.bsh
Hello, terrance. This script will allow you to start the following.
You can run as many as you like separated by spaces and dashes. Example below.
Usage: askhelp.bsh [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
askhelp.bsh -135
Тогда в моем тестовом скрипте я сделал так, чтобы он повторял строки, чтобы показать, что они запущены.
Сценарий:
~$ ./askhelp.bsh -135
Starting Option 1
Starting to mine ZEC.
cd ~/Downloads/claymore.s.Zcash.v12.6/
nohup ./mine.sh & 2>&1>/dev/null
Starting Option 3
Starting to mine ETH.
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mineETH.sh & 2>&1>/dev/null
Starting Option 5
Starting to mine ETN.
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine_space.sh & 2>&1>/dev/null
Другой пример:
~$ ./askhelp.bsh -24
Starting Option 2
Starting to mine ETH & SIA.
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mine.sh & 2>&1>/dev/null
Starting Option 4
Starting to mine ETN.
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine.sh & 2>&1>/dev/null
Новый скрипт из запроса:
Этот скрипт должен открыть новый gnome-terminal для каждого выбора, сделанного для отслеживания. Команды выполняются для gnome-terminal. Если вы решите использовать другой терминал, убедитесь, что вы вносили соответствующие изменения в команду в каждом случае.
#!/bin/bash
#Set name
NAME=$(basename $0)
#Set option choices
OPTS="h12345"
PUSAGE=""
#This is how to use the script
usage="
Hello, "$USER". This script will allow you to start the following.
You can run as many as you like starting with a `-`. Example below.
Usage: ${NAME} [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
${NAME} -135
"
#Run script
while getopts :${OPTS} i ; do
case $i in
1)
gnome-terminal -x bash -c 'echo "Starting to mine ZEC."; cd ~/Downloads/claymore.s.Zcash.v12.6/; ./mine.sh';;
2)
gnome-terminal -x bash -c 'echo "Starting to mine ETH & SIA."; cd ~/Downloads/claymore.dualminer.v10_ETHSIA/; ./mine.sh';;
3)
gnome-terminal -x bash -c 'echo "Starting to mine ETH."; cd ~/Downloads/claymore.dualminer.v10_ETHSIA/; ./mineETH.sh';;
4)
gnome-terminal -x bash -c 'echo "Starting to mine ETN."; cd ~/Downloads/Electroneum/XMRIG/build/; sudo sysctl -w vm.nr_hugepages=128; clear; cat /proc/meminfo | grep Huge; ./mine.sh';;
5)
gnome-terminal -x bash -c 'echo "Starting to mine ETN."; cd ~/Downloads/Electroneum/XMRIG/build/; sudo sysctl -w vm.nr_hugepages=128; clear; cat /proc/meminfo | grep Huge; ./mine_space.sh';;
h | \?) PUSAGE=1;;
esac
done
#Show help based on selection
if [ ${PUSAGE} ]; then
echo "${usage}"
exit 0
fi
#Check for input if none show help.
if [[ $1 == "" ]]; then
echo "${usage}"
exit 0
fi
Надеюсь, что это поможет!
Я бросил один для вас на основе комментария, оставленного от @steeldriver. Это всего лишь сценарий командной строки, допускающий множественный ввод в командной строке. Он использует getopts для нескольких опций, а также добавляет в nohup command & для перемещения сценариев на задний план, чтобы следующий случай мог работать.
Для получения дополнительной помощи выполните поиск в Интернете для bash getopts. Есть так много, чтобы учиться там, и вы можете сделать невероятные сценарии, чтобы делать все, что хотите.
Сценарий:
#!/bin/bash
#Set name
NAME=$(basename $0)
#Set option choices
OPTS="h12345"
PUSAGE=""
#This is how to use the script
usage="
Hello, "$USER". This script will allow you to start the following.
You can run as many as you like starting with a `-`. Example below.
Usage: ${NAME} [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
${NAME} -135
"
#Run script
while getopts :${OPTS} i ; do
case $i in
1)
echo "Starting to mine ZEC."
cd ~/Downloads/claymore.s.Zcash.v12.6/
nohup ./mine.sh & 2>&1>/dev/null;;
2)
echo "Starting to mine ETH & SIA."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mine.sh & 2>&1>/dev/null;;
3)
echo "Starting to mine ETH."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mineETH.sh & 2>&1>/dev/null;;
4)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine.sh & 2>&1>/dev/null;;
5)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine_space.sh & 2>&1>/dev/null;;
h | \?) PUSAGE=1;;
esac
done
#Show help based on selection
if [ ${PUSAGE} ]; then
echo "${usage}"
exit 0
fi
#Check for input if none show help.
if [[ $1 == "" ]]; then
echo "${usage}"
exit 0
fi
Теперь, если вы запустите скрипт с ничем после или a -h для справки, появляется следующее. Я назвал свой скрипт askhelp.bsh как пример.
~$ ./askhelp.bsh
Hello, terrance. This script will allow you to start the following.
You can run as many as you like separated by spaces and dashes. Example below.
Usage: askhelp.bsh [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
askhelp.bsh -135
Тогда в моем тестовом скрипте я сделал так, чтобы он повторял строки, чтобы показать, что они запущены.
Сценарий:
~$ ./askhelp.bsh -135
Starting Option 1
Starting to mine ZEC.
cd ~/Downloads/claymore.s.Zcash.v12.6/
nohup ./mine.sh & 2>&1>/dev/null
Starting Option 3
Starting to mine ETH.
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mineETH.sh & 2>&1>/dev/null
Starting Option 5
Starting to mine ETN.
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine_space.sh & 2>&1>/dev/null
Другой пример:
~$ ./askhelp.bsh -24
Starting Option 2
Starting to mine ETH & SIA.
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mine.sh & 2>&1>/dev/null
Starting Option 4
Starting to mine ETN.
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine.sh & 2>&1>/dev/null
Новый скрипт из запроса:
Этот скрипт должен открыть новый gnome-terminal для каждого выбора, сделанного для отслеживания. Команды выполняются для gnome-terminal. Если вы решите использовать другой терминал, убедитесь, что вы вносили соответствующие изменения в команду в каждом случае.
#!/bin/bash
#Set name
NAME=$(basename $0)
#Set option choices
OPTS="h12345"
PUSAGE=""
#This is how to use the script
usage="
Hello, "$USER". This script will allow you to start the following.
You can run as many as you like starting with a `-`. Example below.
Usage: ${NAME} [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
${NAME} -135
"
#Run script
while getopts :${OPTS} i ; do
case $i in
1)
gnome-terminal -x bash -c 'echo "Starting to mine ZEC."; cd ~/Downloads/claymore.s.Zcash.v12.6/; ./mine.sh';;
2)
gnome-terminal -x bash -c 'echo "Starting to mine ETH & SIA."; cd ~/Downloads/claymore.dualminer.v10_ETHSIA/; ./mine.sh';;
3)
gnome-terminal -x bash -c 'echo "Starting to mine ETH."; cd ~/Downloads/claymore.dualminer.v10_ETHSIA/; ./mineETH.sh';;
4)
gnome-terminal -x bash -c 'echo "Starting to mine ETN."; cd ~/Downloads/Electroneum/XMRIG/build/; sudo sysctl -w vm.nr_hugepages=128; clear; cat /proc/meminfo | grep Huge; ./mine.sh';;
5)
gnome-terminal -x bash -c 'echo "Starting to mine ETN."; cd ~/Downloads/Electroneum/XMRIG/build/; sudo sysctl -w vm.nr_hugepages=128; clear; cat /proc/meminfo | grep Huge; ./mine_space.sh';;
h | \?) PUSAGE=1;;
esac
done
#Show help based on selection
if [ ${PUSAGE} ]; then
echo "${usage}"
exit 0
fi
#Check for input if none show help.
if [[ $1 == "" ]]; then
echo "${usage}"
exit 0
fi
Надеюсь, что это поможет!
Я бросил один для вас на основе комментария, оставленного от @steeldriver. Это всего лишь сценарий командной строки, допускающий множественный ввод в командной строке. Он использует getopts для нескольких опций, а также добавляет в nohup command & для перемещения сценариев на задний план, чтобы следующий случай мог работать.
Для получения дополнительной помощи выполните поиск в Интернете для bash getopts. Есть так много, чтобы учиться там, и вы можете сделать невероятные сценарии, чтобы делать все, что хотите.
Сценарий:
#!/bin/bash
#Set name
NAME=$(basename $0)
#Set option choices
OPTS="h12345"
PUSAGE=""
#This is how to use the script
usage="
Hello, "$USER". This script will allow you to start the following.
You can run as many as you like starting with a `-`. Example below.
Usage: ${NAME} [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
${NAME} -135
"
#Run script
while getopts :${OPTS} i ; do
case $i in
1)
echo "Starting to mine ZEC."
cd ~/Downloads/claymore.s.Zcash.v12.6/
nohup ./mine.sh & 2>&1>/dev/null;;
2)
echo "Starting to mine ETH & SIA."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mine.sh & 2>&1>/dev/null;;
3)
echo "Starting to mine ETH."
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mineETH.sh & 2>&1>/dev/null;;
4)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine.sh & 2>&1>/dev/null;;
5)
echo "Starting to mine ETN."
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine_space.sh & 2>&1>/dev/null;;
h | \?) PUSAGE=1;;
esac
done
#Show help based on selection
if [ ${PUSAGE} ]; then
echo "${usage}"
exit 0
fi
#Check for input if none show help.
if [[ $1 == "" ]]; then
echo "${usage}"
exit 0
fi
Теперь, если вы запустите скрипт с ничем после или a -h для справки, появляется следующее. Я назвал свой скрипт askhelp.bsh как пример.
~$ ./askhelp.bsh
Hello, terrance. This script will allow you to start the following.
You can run as many as you like separated by spaces and dashes. Example below.
Usage: askhelp.bsh [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
askhelp.bsh -135
Тогда в моем тестовом скрипте я сделал так, чтобы он повторял строки, чтобы показать, что они запущены.
Сценарий:
~$ ./askhelp.bsh -135
Starting Option 1
Starting to mine ZEC.
cd ~/Downloads/claymore.s.Zcash.v12.6/
nohup ./mine.sh & 2>&1>/dev/null
Starting Option 3
Starting to mine ETH.
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mineETH.sh & 2>&1>/dev/null
Starting Option 5
Starting to mine ETN.
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine_space.sh & 2>&1>/dev/null
Другой пример:
~$ ./askhelp.bsh -24
Starting Option 2
Starting to mine ETH & SIA.
cd ~/Downloads/claymore.dualminer.v10_ETHSIA/
nohup ./mine.sh & 2>&1>/dev/null
Starting Option 4
Starting to mine ETN.
cd ~/Downloads/Electroneum/XMRIG/build/
sudo sysctl -w vm.nr_hugepages=128
clear
cat /proc/meminfo | grep Huge
nohup ./mine.sh & 2>&1>/dev/null
Новый скрипт из запроса:
Этот скрипт должен открыть новый gnome-terminal для каждого выбора, сделанного для отслеживания. Команды выполняются для gnome-terminal. Если вы решите использовать другой терминал, убедитесь, что вы вносили соответствующие изменения в команду в каждом случае.
#!/bin/bash
#Set name
NAME=$(basename $0)
#Set option choices
OPTS="h12345"
PUSAGE=""
#This is how to use the script
usage="
Hello, "$USER". This script will allow you to start the following.
You can run as many as you like starting with a `-`. Example below.
Usage: ${NAME} [OPTIONS]
Options are:
-h Show this message.
-1. Claymore ZEC v12.6
-2. Claymore ETH & SIA v10
-3. Claymore ETH v10
-4. XMRIG ETN v2.4.4 //etn-pool.proxpool
-5. XMRIG ETN v2.4.4 //pool.etn.spacepools.org
Example:
${NAME} -135
"
#Run script
while getopts :${OPTS} i ; do
case $i in
1)
gnome-terminal -x bash -c 'echo "Starting to mine ZEC."; cd ~/Downloads/claymore.s.Zcash.v12.6/; ./mine.sh';;
2)
gnome-terminal -x bash -c 'echo "Starting to mine ETH & SIA."; cd ~/Downloads/claymore.dualminer.v10_ETHSIA/; ./mine.sh';;
3)
gnome-terminal -x bash -c 'echo "Starting to mine ETH."; cd ~/Downloads/claymore.dualminer.v10_ETHSIA/; ./mineETH.sh';;
4)
gnome-terminal -x bash -c 'echo "Starting to mine ETN."; cd ~/Downloads/Electroneum/XMRIG/build/; sudo sysctl -w vm.nr_hugepages=128; clear; cat /proc/meminfo | grep Huge; ./mine.sh';;
5)
gnome-terminal -x bash -c 'echo "Starting to mine ETN."; cd ~/Downloads/Electroneum/XMRIG/build/; sudo sysctl -w vm.nr_hugepages=128; clear; cat /proc/meminfo | grep Huge; ./mine_space.sh';;
h | \?) PUSAGE=1;;
esac
done
#Show help based on selection
if [ ${PUSAGE} ]; then
echo "${usage}"
exit 0
fi
#Check for input if none show help.
if [[ $1 == "" ]]; then
echo "${usage}"
exit 0
fi
Надеюсь, что это поможет!
Вы можете использовать команду bash read, чтобы получить несколько параметров от пользователя.
Нижеприведенный пример был взят из учебника ввода bash
Нижеприведенный скрипт читает 3 входных параметра в одной команде read и использовать эти 3 уникальных параметра позже в скрипте.
cars.sh script
#!/bin/bash
# Demonstrate how read actually works
echo What cars do you like?
read car1 car2 car3
echo Your first car was: $car1
echo Your second car was: $car2
echo Your third car was: $car3
cars.sh script
./cars.sh
What cars do you like?
Jaguar Maserati Bentley
Your first car was: Jaguar
Your second car was: Maserati
Your third car was: Bentley
./cars.sh
What cars do you like?
Jaguar Maserati Bentley Lotus
Your first car was: Jaguar
Your second car was: Maserati
Your third car was: Bentley Lotus
Вы можете использовать команду bash read, чтобы получить несколько параметров от пользователя.
Нижеприведенный пример был взят из учебника ввода bash
Нижеприведенный скрипт читает 3 входных параметра в одной команде read и использовать эти 3 уникальных параметра позже в скрипте.
cars.sh script
#!/bin/bash
# Demonstrate how read actually works
echo What cars do you like?
read car1 car2 car3
echo Your first car was: $car1
echo Your second car was: $car2
echo Your third car was: $car3
cars.sh script
./cars.sh
What cars do you like?
Jaguar Maserati Bentley
Your first car was: Jaguar
Your second car was: Maserati
Your third car was: Bentley
./cars.sh
What cars do you like?
Jaguar Maserati Bentley Lotus
Your first car was: Jaguar
Your second car was: Maserati
Your third car was: Bentley Lotus
Вы можете использовать команду bash read, чтобы получить несколько параметров от пользователя.
Нижеприведенный пример был взят из учебника ввода bash
Нижеприведенный скрипт читает 3 входных параметра в одной команде read и использовать эти 3 уникальных параметра позже в скрипте.
cars.sh script
#!/bin/bash
# Demonstrate how read actually works
echo What cars do you like?
read car1 car2 car3
echo Your first car was: $car1
echo Your second car was: $car2
echo Your third car was: $car3
cars.sh script
./cars.sh
What cars do you like?
Jaguar Maserati Bentley
Your first car was: Jaguar
Your second car was: Maserati
Your third car was: Bentley
./cars.sh
What cars do you like?
Jaguar Maserati Bentley Lotus
Your first car was: Jaguar
Your second car was: Maserati
Your third car was: Bentley Lotus