中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

門面設(shè)計裝修效果圖廣州seo優(yōu)化外包公司

門面設(shè)計裝修效果圖,廣州seo優(yōu)化外包公司,怎么建立淘寶客網(wǎng)站,外貿(mào)推廣系統(tǒng)-n作用 [ -n 字符串 ] or [ 字符串 ] 字符串的長度為非零(有內(nèi)容)則為真。加-n與不加-n結(jié)果相同。 -z作用 [ -z 字符串 ] 字符串的長度為零則為真。 字符串為空即NULL時為真,與上面的-n相反。 -f作用 [ -f FILE ] 如果 FILE 存在且是一…

-n作用

[ -n 字符串 ] or [ 字符串 ] ?字符串的長度為非零(有內(nèi)容)則為真。加-n與不加-n結(jié)果相同。

-z作用

[ -z 字符串 ] 字符串的長度為零則為真。 字符串為空即NULL時為真,與上面的-n相反。

-f作用

[ -f FILE ] ?如果 FILE 存在且是一個普通文件則為真。?

ros系統(tǒng)環(huán)境為ros2? foxy。

系統(tǒng)自帶的包source的第一個系統(tǒng)腳本文件

/opt/ros/foxy/setup.bash

# copied from ament_package/template/prefix_level/setup.bashAMENT_SHELL=bash# source setup.sh from same directory as this file
AMENT_CURRENT_PREFIX=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" && pwd)
# trace output
if [ -n "$AMENT_TRACE_SETUP_FILES" ]; thenecho "# . \"$AMENT_CURRENT_PREFIX/setup.sh\""
fi
. "$AMENT_CURRENT_PREFIX/setup.sh"

通過在終端顯示這個變量驗(yàn)證,$AMENT_TRACE_SETUP_FILES沒有內(nèi)容。

??[ -n "$AMENT_TRACE_SETUP_FILES" ]沒有內(nèi)容,if fi內(nèi)代碼不運(yùn)行,直接跳到最后一句執(zhí)行

. "$AMENT_CURRENT_PREFIX/setup.sh"

?這個腳本文件的意思是運(yùn)行同一個文件夾內(nèi)的setup.sh文件,轉(zhuǎn)入運(yùn)行下面的腳本。

/opt/ros/foxy/setup.sh

# generated from ament_package/template/prefix_level/setup.sh.in# since this file is sourced use either the provided AMENT_CURRENT_PREFIX
# or fall back to the destination set at configure time
: ${AMENT_CURRENT_PREFIX:=/opt/ros/foxy}# set type of shell if not already set
: ${AMENT_SHELL:=sh}# function to append non-duplicate values to environment variables
# using colons as separators and avoiding leading separators
ament_append_unique_value() {# arguments_listname=$1_value=$2#echo "listname $_listname"#eval echo "list value \$$_listname"#echo "value $_value"# check if the list contains the valueeval _values=\$$_listname_duplicate=_ament_append_unique_value_IFS=$IFSIFS=":"if [ "$AMENT_SHELL" = "zsh" ]; thenament_zsh_to_array _valuesfifor _item in $_values; do# ignore empty stringsif [ -z "$_item" ]; thencontinuefiif [ $_item = $_value ]; then_duplicate=1fidoneunset _item# append only non-duplicatesif [ -z "$_duplicate" ]; then# avoid leading separatorif [ -z "$_values" ]; theneval $_listname=\"$_value\"#eval echo "set list \$$_listname"else# field separator must not be a colonunset IFSeval $_listname=\"\$$_listname:$_value\"#eval echo "append list \$$_listname"fifiIFS=$_ament_append_unique_value_IFSunset _ament_append_unique_value_IFSunset _duplicateunset _valuesunset _valueunset _listname
}# iterate over all parent_prefix_path files
_prefix_setup_IFS=$IFS
IFS="
"
# this variable contains the concatenated prefix paths in reverse order
_UNIQUE_PREFIX_PATH=""# this check is used to skip parent prefix path in the Debian package
if [ -z "SKIP_PARENT_PREFIX_PATH" ]; then# find parent prefix path files for all packages under the current prefix_RESOURCES="$(\find "$AMENT_CURRENT_PREFIX/share/ament_index/resource_index/parent_prefix_path" -mindepth 1 -maxdepth 1 2> /dev/null | \sort)"if [ "$AMENT_SHELL" = "zsh" ]; thenament_zsh_to_array _RESOURCESfifor _resource in $_RESOURCES; do# read the content of the parent_prefix_path file_PARENT_PREFIX_PATH="$(\cat "$_resource")"# reverse the list_REVERSED_PARENT_PREFIX_PATH=""IFS=":"if [ "$AMENT_SHELL" = "zsh" ]; thenament_zsh_to_array _PARENT_PREFIX_PATHfifor _path in $_PARENT_PREFIX_PATH; do# replace placeholder of current prefixif [ "$_path" = "{prefix}" ]; then_path="$AMENT_CURRENT_PREFIX"fi# avoid leading separatorif [ -z "$_REVERSED_PARENT_PREFIX_PATH" ]; then_REVERSED_PARENT_PREFIX_PATH=$_pathelse_REVERSED_PARENT_PREFIX_PATH=$_path:$_REVERSED_PARENT_PREFIX_PATHfidoneunset _PARENT_PREFIX_PATH# collect all unique parent prefix pathif [ "$AMENT_SHELL" = "zsh" ]; thenament_zsh_to_array _REVERSED_PARENT_PREFIX_PATHfifor _path in $_REVERSED_PARENT_PREFIX_PATH; doament_append_unique_value _UNIQUE_PREFIX_PATH "$_path"doneunset _REVERSED_PARENT_PREFIX_PATHdoneunset _resourceunset _RESOURCES
fi# append this directory to the prefix path
ament_append_unique_value _UNIQUE_PREFIX_PATH "$AMENT_CURRENT_PREFIX"
unset AMENT_CURRENT_PREFIX# store AMENT_SHELL to restore it after each prefix
_prefix_setup_AMENT_SHELL=$AMENT_SHELL
# source local_setup.EXT or local_setup.sh file for each prefix path
IFS=":"
if [ "$AMENT_SHELL" = "zsh" ]; thenament_zsh_to_array _UNIQUE_PREFIX_PATH
fi
for _path in $_UNIQUE_PREFIX_PATH; do# trace outputif [ -n "$AMENT_TRACE_SETUP_FILES" ]; thenecho "# . \"$_path/local_setup.$AMENT_SHELL\""fiif [ -f "$_path/local_setup.$AMENT_SHELL" ]; thenif [ "$AMENT_SHELL" = "sh" ]; then# provide AMENT_CURRENT_PREFIX to .sh filesAMENT_CURRENT_PREFIX=$_pathfi# restore IFS before sourcing other filesIFS=$_prefix_setup_IFS. "$_path/local_setup.$AMENT_SHELL"# restore AMENT_SHELL after each prefix-level local_setup fileAMENT_SHELL=$_prefix_setup_AMENT_SHELLfi
done
unset _path
IFS=$_prefix_setup_IFS
unset _prefix_setup_IFS
unset _prefix_setup_AMENT_SHELL
unset _UNIQUE_PREFIX_PATH
unset AMENT_SHELL

我們自己生成的包source環(huán)境變量腳本?

工作空間內(nèi)?source install/setup.bash

# generated from colcon_bash/shell/template/prefix_chain.bash.em# This script extends the environment with the environment of other prefix
# paths which were sourced when this file was generated as well as all packages
# contained in this prefix path.# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_chain_bash_source_script() {if [ -f "$1" ]; thenif [ -n "$COLCON_TRACE" ]; thenecho ". \"$1\""fi. "$1"elseecho "not found: \"$1\"" 1>&2fi
}# source chained prefixes
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
COLCON_CURRENT_PREFIX="/opt/ros/foxy"
_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"# source this prefix
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"unset COLCON_CURRENT_PREFIX
unset _colcon_prefix_chain_bash_source_script

$0當(dāng)前腳本名 $1 腳本的第一個參數(shù)?

_colcon_prefix_chain_bash_source_script(){}函數(shù)的意思是第一個參數(shù)文件存在就運(yùn)行第一個參數(shù),沒有就報錯。

所以我們在自己的工作空間source install/setup.bash相當(dāng)于同時source?/opt/ros/foxy/local_setup.bash

source install/local_setup.bash

http://m.risenshineclean.com/news/62446.html

相關(guān)文章:

  • 鹽山縣招聘網(wǎng)站建設(shè)seoheuni
  • 怎么在網(wǎng)站標(biāo)題做logo小程序
  • 紅包網(wǎng)站開發(fā)百度點(diǎn)擊軟件找名風(fēng)
  • 鎮(zhèn)江專業(yè)網(wǎng)站制作最有效的網(wǎng)絡(luò)推廣方式和策略
  • 免費(fèi)加盟游戲代理搜索引擎優(yōu)化公司
  • 音樂在線制作網(wǎng)站網(wǎng)絡(luò)推廣產(chǎn)品公司
  • 免費(fèi)畫圖網(wǎng)站東莞seo網(wǎng)絡(luò)推廣專
  • 怎樣優(yōu)古網(wǎng)絡(luò)公司網(wǎng)站后臺中國最好的網(wǎng)絡(luò)營銷公司
  • 奢侈品 網(wǎng)站建設(shè)方案上海最新事件
  • 何做百度推廣網(wǎng)站國內(nèi)優(yōu)秀網(wǎng)頁設(shè)計賞析
  • 鶴崗做網(wǎng)站公司每天4元代發(fā)廣告
  • 深圳網(wǎng)站建設(shè)ppchsj個人博客搭建
  • 網(wǎng)站源碼搭建教程河南疫情最新消息
  • 網(wǎng)站制作器軟件下載新品上市怎么推廣詞
  • 濟(jì)南校園兼職網(wǎng)站建設(shè)正規(guī)seo排名公司
  • 網(wǎng)站地圖做法做疫情排行榜最新消息
  • it公司怎么在國外網(wǎng)站做宣傳建設(shè)網(wǎng)站制作
  • 傳奇手游最新下載seo優(yōu)化工作內(nèi)容做什么
  • 服務(wù)器上的網(wǎng)站怎么做3012022百度指數(shù)排名
  • 服務(wù)好的企業(yè)做網(wǎng)站南昌seo數(shù)據(jù)監(jiān)控
  • 淄博 網(wǎng)站制作seo網(wǎng)站自動發(fā)布外鏈工具
  • 微信做自己的網(wǎng)站濰坊seo培訓(xùn)
  • 網(wǎng)站淘寶客怎么做的b2b電子商務(wù)網(wǎng)站
  • 建站網(wǎng)址建設(shè)推廣資源seo
  • 淘寶客推廣網(wǎng)站怎么做百度競價推廣自己可以做嗎
  • 廣州 網(wǎng)站 建設(shè) 制作培訓(xùn)課程開發(fā)
  • 合肥的網(wǎng)站建設(shè)州世界500強(qiáng)企業(yè)名單
  • 廈門做企業(yè)網(wǎng)站站長收錄
  • 如何做網(wǎng)站代理站內(nèi)推廣有哪些方式
  • 可信的邢臺做網(wǎng)站搜索引擎優(yōu)化與推廣技術(shù)