例如,我有一个用户user1
对其 进行了修改.bash_profile
,其中一个更改了PATH
,例如:export PATH=/some/place:$PATH
。如果我user1
以su - user1
.
但是,如果我尝试通过su
as运行命令root
,例如:
su -c test.sh oracle
Run Code Online (Sandbox Code Playgroud)
(测试包含echo $PATH
)
它似乎没有修改PATH
(或 root 的PATH
,就此而言)。我也试过复制.bash_profile
到.profile
,无济于事。
为什么会这样?
我有一个用户(非 root 用户),其中有一个~/.bashrc
包含一些别名的文件。
但它看起来不像是在登录时执行的文件。如果我这样做,source ~/.bashrc
它就会做它应该做的事情。但是不是~/.bashrc
每次登录时都应该执行吗?
权限设置为 644(与我的 root 相同.bashrc
,工作正常)。文件归相关用户所有。
我用的是Solaris,想测试一下设置DISPLAY
环境变量后是否可以使用X服务器。
在 Linux 上,我通常使用xeyes
,xclock
或xterm
. 但是这些在 Solaris 上似乎都不可用。
请注意,我使用的是 Oracle Solaris 11 的 GA 版本。
我在安装 Solaris 11 时遇到了一个非常奇怪的问题。 DNS 解析不起作用,但奇怪的是, nslookup 可以,并且连接性很好:
root@solarisxyz:~# ping stackexchange.com
ping: unknown host stackexchange.com
root@solarisxyz:~# nslookup stackexchange.com
Server: 10.x.x.x (DNS)
Address: 10.x.x.x#y
Non-authoritative answer:
Name: stackexchange.com
Address: 64.34.119.12
root@solarisxyz:~# ping 64.34.119.12
64.34.119.12 is alive
Run Code Online (Sandbox Code Playgroud)
文件的相关部分:
/etc/resolv.conf : (这和我们的 Linux 机器一样)
domain us.oracle.com
nameserver 10.x.x.x
nameserver 10.x.x.x
Run Code Online (Sandbox Code Playgroud)/etc/hosts:
# ::1 solarisxyz localhost (commented out)
127.0.0.1 localhost loghost solarisxyz
Run Code Online (Sandbox Code Playgroud)/etc/nsswitch.conf:
hosts: files dns
# pretty much everything else set to files
Run Code Online (Sandbox Code Playgroud)我试图删除一些文件和文件夹,但我不能,因为系统不断重新创建文件。
所有这些文件都命名为.nfsXXXX
,其中XXXX
是一些随机的 4 字符十六进制数。每当我删除其中一个文件时,它都会创建另一个名称不同但内容相同的文件。
这发生在几个不相关的目录中。什么可能导致这种情况,我该如何解决?