На этот вопрос уже есть ответ:
Я знаю, как создавать собственные команды терминала, и это было бы очень полезно для меня при компиляции всех моих классов java в папке. Я также вижу, что для этого люди обычно создают папку ~ / bin и поместите файлы .sh со строками, которые они хотят запускать, но я не мог этого понять, я создаю compile.sh с некоторыми строками, например
-gcc file -o file
-gcc file1 -o file1
, но, поскольку я читал, мне также нужно добавить строку в файл с именем .bashrc, который скрыт в моей домашней папке, и я не знаю, как это сделать, есть ли способ более легкого редактирования этого файла? После того, как я это сделаю, моей пользовательской командой будет имя файла .sh (компиляция)?
Самый легкий способ сделать сценарии Bash, которые доступны всем пользователям Вашего компьютера, состоит в том, чтобы разместить их в /usr/local/bin
. Это требует, чтобы у Вас были административные привилегии все же.
Откройте свой любимый текстовый редактор и запишите все команды, которые Вы хотите, чтобы сценарий выполнил, одна команда на строку.
Можно добавить комментарии к сценариям Bash путем начала строки с #
.
Когда Вы будете сделаны, добавьте эту точную строку ниже как первую строку наверху Вашего сценария. Это назвало "хижину" и говорит оболочку с который интерпретатор выполнить Ваш сценарий.
#!/bin/bash
Вот простой пример полного сценария, выполняя две команды, которые Вы упомянули в своем вопросе:
#!/bin/bash
# Compile 'file':
gcc file -o file
# Compile 'file1':
gcc file1 -o file1
Местоположение, куда необходимо поместить собственные сценарии для всех пользователей, /usr/local/bin
.
Поскольку этот каталог принадлежит пользователю root
, необходимо быть администратором и использованием sudo
перемещать файлы туда.
Я предполагаю, что Вы создали свой сценарий в Вашем корневом каталоге, ~/my_script.sh
. Просто откройте терминал и введите команду ниже, заменив SCRIPTNAME
с именем Вы хотите дать его. Это имя будет командой, которую необходимо ввести для выполнения его. .sh
расширение файла не необходимо.
sudo mv ~/myscript.sh /usr/local/bin/SCRIPTNAME
Сценарий должен принадлежать и перезаписываемый для root
, но читаемый и исполняемый для всех. Две команды ниже гарантируют это:
sudo chown root: /usr/local/bin/SCRIPTNAME
sudo chmod 755 /usr/local/bin/SCRIPTNAME
Теперь можно просто ввести SCRIPTNAME
(или однако Вы назвали его) к Вашему терминалу, и сценарий будет выполняться.
В то время как запись сценариев является очень удобным способом выполнить много команд из одного файла, я предложил бы использовать функции, где требуются всего одна или две команды.
Возьмите, например, функциональный рев определения
compile()
{
gcc "$1" -o "${1%%.*}" && printf "<<< Compiled successfully\n"
}
Путем размещения его в Ваш .bashrc
файл (и затем выполнение source ~/.bashrc
или открытие новой терминальной вкладки), можно выполнить эту команду отовсюду без наличия ~/bin
добавленный к Вашему PATH
переменная, и обеспечивает имя файла как параметр командной строки как так
compile somecode.c
На ноте стороны можно отредактировать тот файл только путем вызова gedit ~/.bashrc
из командной строки
Для тех из Вас задающийся вопросом, что делает "$1"
и "${1%%.*}"
, "$1"
относится к первому параметру командной строки (в этом случае "somecode.c"
), что касается "${1%%.*}"
- это - расширение параметра, особенно то, которое действительно снабжает суффиксом удаление, и выбросит что-либо после точки. Другими словами, это поворачивается somecode.c
в somecode
. Для большего количества информации считайте раздел страницы руководства удара о расширении параметра
Перед вхождением в это я хотел разъяснить, что Вы не создаете новые команды, Вы создаете скрипты, которые могут быть запущены как исполняемые файлы. Но они могут вести себя таким же образом как команда, потому что можно выполнить их отовсюду.
, Если у Вас нет папки в Вашей домашней папке названной "мусорным ведром", создайте тот.
Теперь открывают окно терминала и тип nano ~/.bashrc
.
, Это откроет редактора. У основания этого файла добавьте новую строку, которая говорит PATH="$HOME/bin:$PATH"
.
Теперь сохранили файл путем нажатия CTRL+O (буква O, не нуль), затем нажмите ENTER. Выйдите из редактора с CTRL+X. Выйдите из системы и въезжайте задним ходом для изменений, чтобы вступить в силу, или перезапустить Ваш компьютер, если это не работает.
Теперь любые сценарии, которые Вы создаете в своей папке мусорного ведра, будут доступны где угодно в окне терминала.
можно создать эти сценарии или с нано или с gedit (Ubuntu графический текстовый редактор) или любой текстовый редактор, которого Вы желаете. Просто не забудьте сохранять свой сценарий в ~ / папка мусорного ведра и делать Ваш исполняемый файл файла. Там 2 способа сделать это:
GUI: Щелкните правой кнопкой по файлу и перейдите к вкладке полномочий и проверьте поле "Allow executing as a program".
ТЕРМИНАЛ: chmod +x /location/of/your/file
/proc/sys/vm/swappiness
оставлен в it' s значение по умолчанию 70
, который хорош для серверов и справедливо настойчиво страниц грязные страницы от процессов это haven' t коснулся их некоторое время для создания места для большего количества pagecache. Это часто плохо для рабочих столов, потому что alt-tab может стать медленным.
– Peter Cordes
7 November 2017 в 11:10