Пароль, который Вы используете для sudo, является паролем Вашей собственной учетной записи, не корневой учетной записи. sudo
используется, чтобы допустить, что Вы получаете доступ к командам, которые должны быть выполнены, поскольку корень, не давая Вам базируется доступ непосредственно. Для изменения собственного пароля использовать passwd
без sudo.
Попробуйте этого парня =):
sed -n 'line_num p' | bash
или
"$(sed -n 'line_num p')"
Вы можете сделать ...
{ head -n"$((NUM-1))"; IFS= read -r line; } </path/to/script >/dev/null
eval "$line"
, который получит линию $ NUM
, от вашего скрипта в переменной оболочки $ Line
А затем оцените его как команду в текущей оболочке.
Другой способ сделать это, как это может выглядеть:
</path/to/script sed "${NUM}q;d" >/tmp/"$$"
. /tmp/"$$" ; rm /tmp/"$$"
Вы редактируете свой скрипт с VIM (VI на Linux)? В VI добавить отображение:
:nmap <F4> Y:!<C-R>"<C-H><CR>
и впоследствии, когда вы находитесь на интересной линии в VI Press F4
Если вы делаете это интерактивно, то можете записать строку в историю бэша:
history -s "$(sed -n 'line_num p')"
Затем нажать ↑Enter, чтобы вставить строку в буфер чтения, и выполнить ее, что даст вам возможность взглянуть на строку, пока не стало слишком поздно.
В bash вы можете запустить следующую команду:
for line in $(cat file.txt); do command $line; done