$(shell /usr/bin/strings ${file})
时间: 2023-12-18 16:03:06 浏览: 27
这是一个Makefile的命令,用于在Makefile中执行shell命令。具体来说,这个命令会执行/usr/bin/strings命令,并将${file}作为参数传递给它。/usr/bin/strings命令会从${file}文件中提取可打印字符序列,并将它们输出到标准输出。在Makefile中,$(shell ...)语法用于将命令的输出作为变量的值。因此,这个命令的结果是${file}文件中的可打印字符序列。
相关问题
lierdan@localhost ~ % echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
`$PATH` 是一个环境变量,用于指定系统在哪些目录中查找可执行文件。当我们在终端输入一个命令时,系统会根据 `$PATH` 中指定的目录顺序来查找对应的可执行文件。
在你提供的示例中,`$PATH` 的值为 `/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin`。这意味着系统会按照以下顺序查找可执行文件:
1. `/usr/local/bin`
2. `/usr/bin`
3. `/bin`
4. `/usr/sbin`
5. `/sbin`
如果你在终端输入一个命令,系统会从上述目录中的第一个目录开始查找,如果找到对应的可执行文件,则执行该命令;如果在所有目录中都没有找到对应的可执行文件,则会提示“命令未找到”的错误。
将以下csh脚本转化为bash脚本alias a alias a s 'source ~/.cshrc' #setenv LANG C setenv XAPPLRESDIR ../data/resources setenv MALLOC_CHECK_ 0 setenv WINDOWS /usr/bin/X11 setenv JAVA_HOME /usr/java/jdk1.7.0_11 #setenv JAVA_HOME /home/nari/jre setenv EBTRC /usr/ebt/bin/ebtrc.global setenv JCC "javac -deprecation -g:none -O -nowarn -d ../bin" a dtext '/usr/ebt/bin/dtext' umask 002 # This is the path for Motif/Sunview: #set path=(. /sbin /bin /usr/local/bin /usr/vac/bin /opt/SUNWspro/bin ~/exe /usr/ccs/bin /usr/bin/mme /usr/bin /usr/ucb /etc /usr/etc /usr/man /usr/sccs /usr/dt/include/Xm /usr/dt/bin /usr/include $HOME/exe $WINDOWS /usr/sbin /usr/i18n/mule/bin $JAVA_HOME/bin /usr/idebug/bin) set path=(. $JAVA_HOME/bin /sbin /bin /usr/local/bin /usr/vac/bin /opt/SUNWspro/bin ~/exe /usr/ccs/bin /usr/bin/mme /usr/bin /usr/ucb /etc /usr/etc /usr/man /usr/sccs /usr/dt/include/Xm /usr/dt/bin /usr/include $HOME/exe $WINDOWS /usr/sbin /usr/i18n/mule/bin /usr/idebug/bin) # added for openwin setenv F1H $HOME/NC3.0/data/lib setenv LD_LIBRARY_PATH /usr/ucb/lib:/usr/dt/lib:/usr/lib:/usr/ucblib:/usr/local/lib: #setenv JAVA_FAST64_VM True
以下是将上述 Csh 脚本转换为 Bash 脚本的代码:
```bash
#!/bin/bash
a() {
source ~/.bashrc
}
export LANG=C
export XAPPLRESDIR=../data/resources
export MALLOC_CHECK_=0
export WINDOWS=/usr/bin/X11
export JAVA_HOME=/usr/java/jdk1.7.0_11
export EBTRC=/usr/ebt/bin/ebtrc.global
export JCC="javac -deprecation -g:none -O -nowarn -d ../bin"
alias dtext='/usr/ebt/bin/dtext'
umask 002
# This is the path for Motif/Sunview:
#PATH=(. /sbin /bin /usr/local/bin /usr/vac/bin /opt/SUNWspro/bin ~/exe /usr/ccs/bin /usr/bin/mme /usr/bin /usr/ucb /etc /usr/etc /usr/man /usr/sccs /usr/dt/include/Xm /usr/dt/bin /usr/include $HOME/exe $WINDOWS /usr/sbin /usr/i18n/mule/bin $JAVA_HOME/bin /usr/idebug/bin)
PATH=(. $JAVA_HOME/bin /sbin /bin /usr/local/bin /usr/vac/bin /opt/SUNWspro/bin ~/exe /usr/ccs/bin /usr/bin/mme /usr/bin /usr/ucb /etc /usr/etc /usr/man /usr/sccs /usr/dt/include/Xm /usr/dt/bin /usr/include $HOME/exe $WINDOWS /usr/sbin /usr/i18n/mule/bin /usr/idebug/bin)
# added for openwin
export F1H=$HOME/NC3.0/data/lib
export LD_LIBRARY_PATH=/usr/ucb/lib:/usr/dt/lib:/usr/lib:/usr/ucblib:/usr/local/lib:
#export JAVA_FAST64_VM=True
```
请注意,Bash 中没有直接等价于 Csh 中的 `setenv` 命令,因此需要使用 `export` 命令来设置环境变量。另外,Bash 中的命令别名使用 `alias` 命令来定义,而不是在别名后面直接加上命令。最后,Bash 中的数组使用圆括号而不是方括号。