Intereting Posts
Не удается отформатировать жесткий диск в Windows 7 после полной установки Ubuntu Мой обратный ключ выходит из терминала Как связать заметку с индикатором приложения Tomboy? Какой USB-модем купить? Адаптер Ethernet AX88179 работает неправильно Невозможно установить какие-либо пакеты из-за неустранимой фатальной ошибки / var / lib / dpkg / distions Обновление с 10.10 до 12.04 без резервного копирования Команда ffmpeg: команда не найдена Как изменить MAC-адрес wlan0? Есть ли способ держать пусковые установки синхронизированными между машинами? Как восстановить GRUB в тройной загрузке с двумя зашифрованными LVM? Ноутбук потерял беспроводное соединение случайно после обновления Где я могу найти ubuntu-10.04.1-netbook-i386.iso? Необходимо вручную включить беспроводную сеть на Centrino N 6200 Могут ли звуковые сигналы системных событий назначаться в Ubuntu 14.04, а не системные звуки по умолчанию?

Как создать мои собственные команды терминала

Я знаю, как создавать свои пользовательские команды терминала, и это было бы очень полезно для меня при компиляции всех моих классов Java в папке. Я также вижу, что для этого люди обычно создают папку ~ / bin и помещают файлы .sh с строками, которые они хотят запустить, но я не мог понять это хорошо, я создаю compile.sh с некоторыми строками, например

-gcc file -o file -gcc file1 -o file1 

но по мере того, как я читал, мне также нужно добавить строку в файл с именем .bashrc, который скрыт в моей домашней папке, и я не знаю, как это сделать, есть ли способ редактирования этого файла? После этого моя пользовательская команда будет именем файла .sh (компиляция)?

Самый простой способ сделать сценарии Bash, доступные всем пользователям вашего компьютера, – поместить их в /usr/local/bin . Это требует, чтобы вы обладали правами администратора.

  1. Создайте скрипт:

    Откройте ваш любимый текстовый редактор и напишите все команды, которые вы хотите запустить сценарий, по одной команде в каждой строке.

    Вы можете добавлять комментарии к сценариям Bash, начиная строку с # .

    Когда вы закончите, добавьте эту точную строку ниже в первую строку вверху вашего скрипта. Он называется «shebang» и сообщает оболочке, с которой интерпретатор выполняет ваш скрипт.

     #!/bin/bash 

    Вот простой пример полного скрипта, который запускает две команды, упомянутые в вашем вопросе:

     #!/bin/bash # Compile 'file': gcc file -o file # Compile 'file1': gcc file1 -o file1 
  2. Переместите ваш скрипт в нужное место:

    Место, где вы должны разместить собственные скрипты для всех пользователей, – /usr/local/bin .

    Поскольку этот каталог принадлежит пользователю root , вы должны быть администратором и использовать sudo для перемещения файлов там.

    Предположим, вы создали свой скрипт в своем домашнем каталоге ~/my_script.sh . Просто откройте терминал и введите команду ниже, заменив SCRIPTNAME на имя, которое вы хотите ему предоставить. Это имя будет командой, которую вы должны ввести для ее запуска. Расширение файла .sh не требуется.

     sudo mv ~/myscript.sh /usr/local/bin/SCRIPTNAME 
  3. Установите правильного владельца и разрешения:

    Сценарий должен быть доступен и доступен для записи для root , но доступен для чтения и для всех. Две приведенные ниже команды обеспечивают следующее:

     sudo chown root: /usr/local/bin/SCRIPTNAME sudo chmod 755 /usr/local/bin/SCRIPTNAME 
  4. Запустите свой скрипт и наслаждайтесь:

    Теперь вы можете просто набрать SCRIPTNAME (или, как вы его называли), на свой терминал, и скрипт будет выполнен.

Хотя писать сценарии – очень удобный способ выполнения многих команд из одного файла , я бы предложил использовать функции, где для этого требуется только одна или две команды.

Возьмем, например, определение функции ниже

 compile() { gcc "$1" -o "${1%%.*}" && printf "<<< Compiled successfully\n" } 

Поместив его в ваш .bashrc файл (а затем запустив source ~/.bashrc файл source ~/.bashrc или открыв новую вкладку терминала), вы можете запустить эту команду из любого места, не добавляя ~/bin в свою PATH и предоставляя имя файла как аргумент командной строки вот так

 compile somecode.c 

На боковой ноте вы можете отредактировать этот файл, просто вызвав gedit ~/.bashrc из командной строки

Для тех из вас, кто задается вопросом, что означает "$1" и "${1%%.*}" , "$1" относится к первому параметру командной строки (в данном случае "somecode.c" ), что касается "${1%%.*}" – это расширение параметра, особенно то, что делает удаление суффикса, и выкинет что-нибудь после точки. Другими словами, это превращает somecode.c в somecode . Для получения дополнительной информации прочтите раздел справочной страницы bash о расширении параметра

Прежде чем вникать в это, я хотел уточнить, что вы не создаете новые команды, вы создаете скрипты, которые можно запускать как исполняемые файлы. Но они могут вести себя так же, как команда, потому что вы можете запускать их из любого места.

Если у вас нет папки в домашней папке с именем «bin», создайте ее.

Теперь откройте окно терминала и введите nano ~/.bashrc .

Это откроет редактор. В нижней части этого файла добавьте новую строку, которая говорит PATH="$HOME/bin:$PATH" .

Теперь сохраните файл, нажав CTRL + O (буква o, а не ноль), затем нажмите ENTER. Выйдите из редактора с помощью CTRL + X. Выйдите из системы и вернитесь, чтобы изменения вступили в силу, или перезагрузите компьютер, если это не работает.

Теперь любые скрипты, созданные в папке bin, будут доступны в любом месте окна терминала.

Вы можете создавать эти сценарии с помощью nano или gedit (графического текстового редактора Ubuntu) или любого текстового редактора, который вы хотите. Не забудьте сохранить ваш скрипт в папке ~ / bin и сделать файл исполняемым. Есть два способа сделать это:

GUI: щелкните правой кнопкой мыши файл и перейдите на вкладку «Разрешения» и установите флажок «Разрешить выполнение как программу».

ТЕРМИНАЛ: chmod +x /location/of/your/file