我正在尝试运行一些bash脚本,这些脚本是我们在上在Linux上编写的。脚本执行一个
#!/bin/bash
sudo su -l <username> << EOF
echo $HOME
#execute command that is only on the path of <username>
EOF
不,我以user1的身份运行脚本,在脚本中我试图切换到user2。实际上,我需要它像这样运行,因为还有其他部分需要以user1的形式运行。
在linux上我得到
/home/user2
在上我得到
/Users/user1
因此,它实际上并不执行登录,
我正在运行这个SSH命令:
ssh -p 2001 -q root@12.13.14.15 \
" echo
echo Now On Target Server, I see
ls -l /tmp/Folder-1.1.0.1053/*
for v in A B C ; do
echo === $v===
done
echo
for f in /tmp/Folder-1.1.0.1053/* ; do
echo File is == $f
done
"
印着这个:
Now On Target
对于Unix上的sed命令,我遇到了一些困难。好像也在linux上..。
这是我的文件中的一行,我要修改:
# id=<$IdEDFRGB.RR '" fgg t uj67575 uj:$ g re ee >
它应该是在倒置之后:
# id=<$Id22 02 21 17:13$ g re ee >f rgrge
当我使用这个sed命令(初始化DT变量之后):
sed "s/<\$Id.*\$/<\$Id${DT}\$/g"
我获得:
# id=<$Id22 02 2021 17:41$
我失去了正确的部分。有人能帮我
我正在使用WSL2运行Ubuntu20.04,而且我对linux相当陌生。在设置我的环境时,我破坏了我的$PATH,因为它不再包括我的windows路径中的所有目录。每当我打开Ubuntu时,终端就会产生大量这样的错误:
-bash: export: `Files/Intel/Intel(R)': not a valid identifier
这是许多错误之一,对于我的windows路径的每个组件都是一个错误。我不确定Windows附加到linux路径的位置,所以我不确定应该在哪里进行修复。
编辑:根据一些注释和答案,我使用下面的代码修改了.bashrc中的.bashrc。注释掉这段代