我写了一个c程序。我想管道程序,我想让它看起来很有意义。因此,我不想每次都写./a.out
,而是将其命名为changetext
。为此,我按照以下方式编译了我的程序:gcc -o changetext myprog.c
。据我所知,这应该取代./a.out
的使用,而changetext
应该替代使用command not found
和encodeURIComponent('["category:Book","category:-Movie","author:John Doe"]')
。但我得到了index.search('query', {
facetFilters: 'Name:-John'
})
。我是c和unix环境的新手。任何建议都表示赞赏。
答案 0 :(得分:3)
正如我在评论中所说,您可以在可执行文件前放置一个点斜杠(./
)来运行它
./changetext
或者您放入PATH环境变量中引用的目录中。这里可以找到这个安全功能的一个很好的解释(感谢rubenvb):
http://www.linfo.org/dot_slash.html
它表示这或多或少是为了区分内置命令和用户编写的同名命令。我不相信。 shell可能只是更喜欢内置名称到用户提供的名称,并查看当前目录以及PATH。
但这是* nix方式。
答案 1 :(得分:1)
为了使用命令changetext
编译和运行诸如chanhetext
之类的程序,必须将二进制文件放在PATH环境变量中列出的目录中。建议您将自己制作的程序放在~/bin/
目录中。假设~/bin/
已存在,您将用于完成此操作的命令如下:
gcc -o ~/bin/changetext myprog.c如果它不存在,您只需创建它,然后注销并重新登录。
答案 2 :(得分:1)
如果您厌倦了在程序名称之前执行./,则可以始终创建别名,例如
alias a='./a.out'
或alias changetext='./changetext'
这只是在你每次输入changetext or a
时基本找到,然后将其替换为./
在其前面