Linux 带有sudo和System.cmd(“mount”)的IEx块

Linux 带有sudo和System.cmd(“mount”)的IEx块,linux,elixir,elixir-mix,elixir-iex,Linux,Elixir,Elixir Mix,Elixir Iex,一些精确性: $> iex --version Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false] IEx 1.4.4 $> mix --version Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:

一些精确性:

$> iex --version
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]

IEx 1.4.4

$> mix --version
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]

Mix 1.4.4
我是法国人,我不明白为什么

$> iex -S mix
在以下方面存在一些缺陷:

$> sudo iex -S mix
我想在IEx中执行命令:

System.cmd("mount", ["-t", "ecryptfs", ".private", "private", "-o", ~s(key=passphrase,passphrase_passwd="pass",ecryptfs_enable_filename_crypto=n,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n)], [stderr_to_stdout: true])
用于测试和安装ecryptfs分区。在

$> iex -S mix
iex(2)> System.cmd("mount", ["-t", "ecryptfs", ".private", "private", "-o", ~s(key=passphrase,passphrase_passwd="pass",ecryptfs_enable_filename_crypto=n,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n)], [stderr_to_stdout: true])

{"mount: mount : seul le superutilisateur peut utiliser l'option « --options »\n",1}
我有正确的值,无特权的坐骑

与:

这个命令会出错并打印任何内容。它只是一个街区。没有返回错误代码,没有任何内容,只是阻塞。IEx不会打印任何东西

我有一个bug的截图:


好的,System.cmd不想在参数中引用。好的/

如果直接在shell中运行命令会发生什么
sudo mount-t ecryptfs.private private-o'key=passphrase,passphrase_passwd=“pass”,ecryptfs_enable_filename_crypto=n,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n'
?它是否立即完成执行?它要求密码还是什么?所以,sudo密码要求,但它打印
Select cipher:1)aes:blocksize=16;最小键大小=16;最大键大小=32 2)河豚:块大小=8;最小键大小=16;最大键大小=56 3)des3_ede:块大小=8;最小键大小=24;最大keysize=24 4)twofish:blocksize=16;最小键大小=16;最大键大小=32 5)cast6:blocksize=16;最小键大小=16;最大键大小=32 6)cast5:blocksize=8;最小键大小=5;max keysize=16 Selection[aes]:
因此,我在命令中有精确的说明?是的,如果您可以在CLI参数中指定该值,这样用户就不会提示该值,那么它应该在
System.cmd
中工作。我想,我将使用所有指定的值为我的模块创建一个选项类型。想了很多:)
$> sudo iex -S mix
iex(2)> System.cmd("mount", ["-t", "ecryptfs", ".private", "private", "-o", ~s(key=passphrase,passphrase_passwd="pass",ecryptfs_enable_filename_crypto=n,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n)], [stderr_to_stdout: true])