Назад | Перейти на главную страницу

значение переменной оболочки не сохраняется внутри файла

Я написал следующий скрипт, который генерирует случайный пароль и сохраняет его в файле

pass1=</dev/urandom tr -dc _A-Z-a-z-0-9|head -c8
echo $pass1
echo "$pass1" >/tmp/a

Вышеупомянутый сценарий печатает пароль, сгенерированный командой "echo $ pass1". Но ничего не сохраняется внутри созданного / tmp / файла.

Пожалуйста, дайте мне знать, что я делаю не так.

Не обязательно хранить пароль в промежуточной переменной. Вам нужна только эта строка в вашем сценарии оболочки

</dev/urandom tr -dc _A-Z-a-z-0-9|head -c8 > /tmp/a

Я сохранил как foo.sh, сделал 755 разрешений и выполнил под linux ...

[mpenning@chestnut ~]$ uname -a
Linux chestnut.he.net 2.6.32.46-1-grsec #1 SMP Fri Sep 2 12:42:23 PDT 2011 x86_64 GNU/Linux
[mpenning@chestnut ~]$ ./foo.sh
[mpenning@chestnut ~]$ cat /tmp/a
qAUezN0-[mpenning@chestnut ~]$