Ale*_*suk 3 command-line kernel symbolic-link
我有一个情况,ln即使在我阅读了ln帮助后也无法解决这个问题。
运行以下命令:
ln -sf /lib/modules/$kernel_version/extra/mISDN_core.ko /lib/modules/$kernel_version/kernel/drivers/isdn/mISDN/mISDN_core.ko
Run Code Online (Sandbox Code Playgroud)
提供以下错误:
ln: invalid option -- '/'
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我建议用$kernel_version实际值替换变量。
如下所述,使用带有反引号而不是单引号的以下命令也可以解决问题:
$ kernel_version=`uname -r`
Run Code Online (Sandbox Code Playgroud)
正如@steeldriver 所提到的,错误似乎是由于使用了单引号而不是命令周围的反引号uname -r。
因此,以下示例命令:
$ kernel_version='uname -r'
$ ln -sf /tmp/test/$kernel_version/example /tmp/newname
ln: invalid option -- '/'
Try 'ln --help' for more information.
Run Code Online (Sandbox Code Playgroud)
将被翻译为:
$ ln -sf /tmp/test/uname -r/example /tmp/newname
ln: invalid option -- '/'
Try 'ln --help' for more information.
Run Code Online (Sandbox Code Playgroud)
正如@steeldriver 所写:大概错误消息是关于无效选项,'/'因为它-r是ln命令的有效选项
请注意,使用反引号不会出错:
$ kernel_version=`uname -r`
$ ln -sf /tmp/test/$kernel_version/example /tmp/newname
$
$ ls -l /tmp/newname
lrwxrwxrwx 1 user user 35 Feb 21 16:02 /tmp/newname -> /tmp/test/4.4.0-112-generic/example
Run Code Online (Sandbox Code Playgroud)