我想编写一个脚本,openvpn首先调用,然后调用ssh. 输入命令时
sudo openvpn ~/my_connection.ovpn
Run Code Online (Sandbox Code Playgroud)
在命令提示符下,我得到以下输出:
...
Wed Jan 4 21:04:35 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Jan 4 21:04:35 2017 /sbin/ip link set dev tun0 up mtu 1500
Wed Jan 4 21:04:35 2017 /sbin/ip addr add dev tun0 local IP_FOO peer IP_FOO
Wed Jan 4 21:04:35 2017 Initialization Sequence Completed
Run Code Online (Sandbox Code Playgroud)
此命令被阻塞,shell 未释放。为了之后启动 ssh 连接,我需要通过键入Ctrl+Z后跟 a将 openvpn 进程推入后台bg。
但是,我想通过仅调用我的 bash 文件来自动调用 openvpn 连接步骤和 ssh。我如何设法模拟此文件中的Ctrl+Z和bg步骤?
我试图将 …
ls -la 打印以下内容:
drwxrwxrw- 2 www-data www-data 4096 Aug 12 11:04 files
Run Code Online (Sandbox Code Playgroud)
我的用户名不属于www-data。当尝试cd进入文件时,我得到了一个“ permission denied”,尽管read设置了其他人的“ ”权限。
为什么我需要“执行”权限?
我有一个名为shell脚本foo.sh在/usr/local/sbin。此外,我使用另一个同名脚本。它存储在/home/user/scripts.
两条路径都属于PATH. 如何找出foo.sh在命令行上键入时执行的脚本中的哪一个?我可以影响它吗?
该命令会python打开 Python 2.7.6 环境。如果我想解释 Python 3 脚本,我需要将命令重写为python3.
我刚刚安装了numpy包。为了测试安装是否成功,我运行了命令import numpy. 使用该python命令时效果很好。但是,python3没有找到包。
这怎么可能?这两个命令使用不同的路径变量吗?我怎样才能改变这种行为?
我想知道为什么诸如/usr和 之/usr/local/类的目录由 root 拥有和创建。通常我以普通用户身份登录,我想在这些目录中存储我个人使用的程序。例如,Android Studio 存储在那里。每当我需要进行更新或进行任何类型的更改时,都不会授予权限,因为我不是以 root 身份登录的。
目录名“usr”已经暗示(普通)基于用户的程序应该在那里。
我没有得到这个目录背后的概念吗?
在java我的控制台中输入时,/usr/bin/java会跟随一个符号链接。
which java
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)
此符号链接指向/etc/alternatives/java.
file /usr/bin/java
/usr/bin/java: symbolic link to `/etc/alternatives/java'
Run Code Online (Sandbox Code Playgroud)
/etc/alternatives/java 本身就是一个符号链接,指向 /usr/lib/jvm/jdk1.8.0_20/bin/java
为什么要走这样的弯路?为什么不java直接指向/usr/lib/jvm/jdk1.8.0_20. 我看不出有什么优势。
command-line ×2
filesystem ×2
permissions ×2
bash ×1
directory ×1
java ×1
job-control ×1
openvpn ×1
paths ×1
python ×1
python3 ×1
scripts ×1