哪些脚本修改了path环境变量?我可以使用哪些方法来确定哪些脚本修改路径环境变量?
我使用 Ubuntu 18.04,并使用 petalinux、Vivado 等软件。例如,每次我想打开 vivado 时,我都会打开终端并输入:
source /opt/XIlinx/Vivado/2020.2/settings64.sh
这仅适用于该特定终端。
我知道如果我编辑 .profile 文件,我可以使其变得多余。所以我添加这一行:
export PATH="$PATH:/opt/XIlinx/Vivado/2020.2/settings64.sh"
注销,登录,但如果不获取 settings64.sh 文件,我仍然无法打开 vivado。我究竟做错了什么?
这是 petalinux 源文件 - settings.sh:
#
# Setup script for PetaLinux development environment.
#
# Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
#
SETTINGS_FILE='settings.sh'
# The right location will be replaced by the installer
XIL_SCRIPT_LOC="./"
if [ $# != 0 ]; then
# The first argument is the location of PetaLinux Installation
# Don't detect the installation location
XIL_SCRIPT_LOC="$1"
else
# XIL_SCRIPT_LOC should point to script location
if [ "$0" == "ksh" ]; then
XIL_SCRIPT_LOC_TMP_UNI=`readlink -f ${XIL_ARG_}`
else
XIL_SCRIPT_LOC_TMP_UNI=$BASH_SOURCE
fi
XIL_SCRIPT_LOC_TMP_UNI=${XIL_SCRIPT_LOC_TMP_UNI%/*}
if [ "$XIL_SCRIPT_LOC_TMP_UNI" != "" ]; then
if [ "$XIL_SCRIPT_LOC_TMP_UNI" == "settings.sh" ]; then
XIL_SCRIPT_LOC_TMP_UNI="./"
fi
XIL_SCRIPT_LOC_TMP_UNI=`readlink -f ${XIL_SCRIPT_LOC_TMP_UNI}`
if [ $? == 0 ]; then
XIL_SCRIPT_LOC=${XIL_SCRIPT_LOC_TMP_UNI}
fi
fi
unset XIL_SCRIPT_LOC_TMP_UNI
fi
export PETALINUX=`readlink -f "${XIL_SCRIPT_LOC}"`
if echo "${PETALINUX}" | grep -q ' '; then
echo "********************************************************"
echo "WARNING: PetaLinux SDK installation path contains spaces"
echo "WARNING: You are STRONGLY recommend to fix this".
echo "********************************************************"
fi
export PETALINUX_VER=2020.2
export XSCT_TOOLCHAIN="${PETALINUX}/tools/xsct"
# Figure out host system architecture
# for now, only linux-i386 supported
#
# Add toolchains to user's search path
#
PATH="${XSCT_TOOLCHAIN}/gnu/aarch32/lin/gcc-arm-none-eabi/bin:${PATH}"
PATH="${XSCT_TOOLCHAIN}/gnu/aarch64/lin/aarch64-none/bin:${PATH}"
PATH="${XSCT_TOOLCHAIN}/gnu/armr5/lin/gcc-arm-none-eabi/bin:${PATH}"
PATH="${XSCT_TOOLCHAIN}/gnu/microblaze/lin/bin:${PATH}"
#
# Add required binary tools to the user's search path
#
PATH="${PETALINUX}/tools/xsct/petalinux/bin:${PETALINUX}/tools/common/petalinux/bin:${PATH}"
#
# Check for "." or ".\" in the path - it's broken
#
echo "${PATH}" | tr ":" "\n" | grep '^\./*$' > /dev/null &&
echo "WARNING: '.' detected in PATH - fixing it." 1>&2
PATH=`echo ${PATH} | tr ":" "\n" | grep -v '^\./*$' | tr "\n" ":"`
# Strip any trailing or multi-colons - they are interpreted as '.'
PATH=$(echo ${PATH} | sed -e 's/:*$//g' -e 's/::*/:/g')
export PATH
echo PetaLinux environment set to \'${PETALINUX}\'
for s in /bin/sh sh; do
if ! $s --version 2>/dev/null | grep -q "^GNU bash"; then
echo "WARNING: $s is not bash! "
echo "bash is PetaLinux recommended shell. Please set your default shell to bash."
break
fi
done
if ! echo $SHELL | grep -q "bash"; then
echo "WARNING: $SHELL is not bash! "
echo "/bin/bash is Petalinux recommended SHELL variable. Please set your SHELL variable to /bin/bash."
fi
"${PETALINUX}"/tools/common/petalinux//utils/petalinux-env-check
我通过 Windows 运行 Ubuntu 终端(通过 Windows Insider 程序安装)我作为实习生加入了这家公司,他们有一个正在开发的网站。我得到了一些要遵循的步骤,因此我可以在本地运行该应用程序。我已经安装了 Node.js 和 Yarn,并克隆了 GitHub 链接。此外,我使用yarn install
.
下一步是添加 .env 文件,我不知道如何在 ubuntu 中添加。我努力了sudo -H gedit /etc/environment
但我明白了:
sudo: gedit: command not found
我不知道这是否是同一件事。我可能找错了方向,但希望我能在这里找到答案。
我正在使用一个程序来制作 GURPS 角色(这基本上是一款类似于 D&D 的游戏,具有更大的灵活性)在这里创建并运行:
https://gurpscharactersheet.com/
它是用 Java 制作的,目前,当我打开它时,它会使所有文本不可见,除非我单击一个选项。(见截图。)
在与开发人员通信时,他说我使用的深色主题导致了不可读的质量。我可以在玩了那个选项后确认这一点!
程序中有一个主题选项,但这些选项中没有任何内容可以控制所选文本的基本呈现方式。
他们还建议使用不同的环境变量设置打开 GCS,但我不确定要更改什么。
我已经研究了这个选项,但我发现的大部分内容都涉及更改整个桌面环境,而不仅仅是一个程序的变量。
我很想知道如何仅为该程序更改环境选项!
这个功能:
function prova {
for (( i=1; i<=5; i++ )); do echo test; done
return $?
}
回报:
test
test
test
test
test
这另一个代替:
function prova {
for (( local i=1; i<=5; i++ )); do echo test; done
return $?
}
回报:
bash: ((: local i=1: syntax error in expression (error token is "i=1")
在 bash 中是否可以像在其他语言中一样,在 for 表达式中动态地将变量声明为“本地”?
我在公司防火墙后面,一直在尝试通过使用export
位于其中的 shell 脚本来设置我的代理设置/etc/profile.d/proxy.sh
(参见,例如, 如何使用 shell 脚本设置系统范围的代理地址?)。
在对设置进行故障排除时,我还在“网络”GUI 中进行了更改。由于我在“网络”GUI 中引入了一个错误,我无法连接,我认为这可能覆盖了 proxy.sh 脚本文件中的正确设置。
gsettings 如何与位于/etc/profile.d/
or中的脚本设置的环境变量交互和/或冲突/etc/environment
?如果存在冲突,哪些设置优先?如果我使用的是 Ubuntu 桌面(即 GUI 环境),是否最好使用 gsettings(来自 GUI 或设置 gsettings 的脚本)编辑环境变量,以便它们可以在 GUI 中访问(即,我禁用了代理设置在 GUI 中,因为它们与我的脚本冲突,但现在我在 GUI 中看不到脚本设置的设置)?任何关于最佳实践的想法将不胜感激。
我想在我的系统终端上使用 Ubuntu 风格,而不是 Ubuntu。有人可以从他/她的 Ubuntu 系统中发布未经修改的原始值$LS_COLORS
和此处的值吗?$DIR_COLORS
即 和 的echo $LS_COLORS
输出echo $DIR_COLORS
。
另外,如果还有其他东西会影响ls
和dir
输出的颜色,我也想知道。
谢谢你。
哪个文件分配了 Lubuntu 列出的bash
printenv
或env
在 Lubuntu 上列出的预设环境变量(LXQt 和 LXDE,如果它们不同)?其他文件是否使用相同的文件:
- 基于 Debian 的发行版
- 非 Debian 发行版(Red Hat 系列,Arch)
蒂亚!
我在这里提到了使用 pip 安装 youtube-dl 的答案。虽然 youtube-dl 在我的 Ubuntu 20.04 中默认安装了 apt,但它已经过时并显示错误。
另外,我用pip3通过命令安装,
pip3 install --upgrade youtube-dl
并且还通过 apt 包管理器卸载了过时的 youtube-dl。
当我使用命令pip3 show youtube-dl
时,它显示如下输出:
Name: youtube-dl
Version: 2020.6.16.1
Summary: YouTube video downloader
Home-page: https://github.com/ytdl-org/youtube-dl
Author: Ricardo Garcia
Author-email: [email protected]
License: Unlicense
Location: /home/vivek/.local/lib/python3.8/site-packages
Requires:
Required-by:
我想现在我必须将它设置为环境变量,以便我可以使用它,因为我无法使用它的任何命令,例如,
youtube-dl --version
给我一个输出:
bash: /usr/bin/youtube-dl: No such file or directory
我试图将一个变量传递给另一个 shell 命令。
要清楚;
passwdContent=$( getent passwd "$USER" )
echo "passwdcontent" $passwdContent
我从用户“x”那里得到“passwd”字段。在本节之后,我想使用这个变量。
但是在这里我无法解决如何传递“passwdContent”变量。我试过这样的方法;
exampleVariable=[( "$passwdContent" | cut -d : -f 1 )]
在我想回显“exampleVariable”之后,它给了我错误。
我知道我可以在一行中完成所有这些。但我想学习如何做到这一点。