Я пытаюсь исказить команду sudo shutdown
но в моем .profile
Я не могу просто сделать alias "sudo shutdown"="my command"
. Там другой путь состоит в том, чтобы исказить мультисформулированные команды в Unix?
Имя псевдонима на левой стороне, таким образом, у Вас может быть любая мультисформулированная команда в праве:
alias my_alias="multi worded command"
Править: Однако, если Вы действительно хотите иметь названия псевдонимов нескольких слов - в Вашем примере, если Вы действительно хотите "sudo, чтобы завершение работы" было псевдонимом, можно работать вокруг этого при помощи следующей функции псевдонима (в руководстве удара):
A trailing space in value causes the next word to be checked for
alias substitution when the alias is expanded.
Так, если Вы все еще хотите использовать sudo
с другими командами, но не с shutdown
и если можно позволить себе исказить shutdown
к чему-то еще Вы можете иметь:
alias sudo='sudo '
alias shutdown="echo nope"
Теперь, sudo anything_else
будет работать как ожидалось (предполагающий, что у Вас нет псевдонима для anything_else
, но если у Вас есть он, не работал бы ни перед одним); но sudo shutdown
будет эквивалентно sudo echo nope
и это распечатает ту строку.
Я предпочитаю просто помещать исполняемый файл в/usr/local/bin (уверены, что это находится в Вашем пути), который затем содержит команды, которые я хочу выполнить. Название сценария было бы командой, которая подходит. убедитесь chmod +x/usr/local/bin/your_script.
Таким образом, сценарий можно было назвать 'завершением работы'
Содержание завершения работы файла было бы:
#!/bin/sh
sudo shutdown
Это открывает совершенно новый мир. У Вас могла затем быть пара команд или даже сценария:
#!/usr/bin/env python
print "hi"
# more stuff. ....